[ https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757 ]
Slawomir Nowak commented on GROOVY-8338: ---------------------------------------- [~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that: {code}Caused by: java.lang.IncompatibleClassChangeError: Method io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation; must be InterfaceMethodref constant{code} So it looks like the issue is still there. Let me know if I'm doing sth wrong: 1) i'm trying to compile groovy locally {code}MacBook-Pro-Slawomir:groovy snowak$ git log -1 commit 7c99799f1b9984c807725a04081e04bca58f6322 (HEAD -> GROOVY_2_5_X, origin/GROOVY_2_5_X) Author: paulk <pa...@asert.com.au> Date: Fri Dec 22 17:11:51 2017 +1000 GROOVY-8386/GROOVY-8094: Final variable analysis broken with try/catch/finally and if/then/else (closes #646) MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test --parallel{code} 2) then I specify compiled jar as a maven depencency: {code} <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>2.5.0-SNAPSHOT</version> <scope>system</scope> <systemPath>/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar</systemPath> </dependency> {code} This should work, right? > Calling Stream.of from groovy class in JDK 9 fails > -------------------------------------------------- > > Key: GROOVY-8338 > URL: https://issues.apache.org/jira/browse/GROOVY-8338 > Project: Groovy > Issue Type: Bug > Components: groovy-runtime > Affects Versions: 2.4.12 > Reporter: Marcus Nylander > Assignee: Jochen Theodorou > Fix For: 2.4.14 > > > Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK > 9 (jdk 9 181) fails. > Example: > {code} > package test > import java.util.stream.Stream > class B { > static void main(String[] args) { > Stream.of("1").forEach({ println(it) }) > } > } > {code} > The code above fails with: > Exception in thread "main" java.lang.IncompatibleClassChangeError: Method > java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must > be InterfaceMethodref constant > at java_util_stream_Stream$of.call(Unknown Source) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) > at test.B.main(B.groovy:7) > The same occurs for other interface static methods also: > {code} > public interface D { > static D of(String s) { > return new D() { > }; > } > } > class C { > static void main(String[] args) { > D.of("1") > } > } > {code} > Also fails with: > Exception in thread "main" java.lang.IncompatibleClassChangeError: Method > test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant > at test.D$of.call(Unknown Source) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) > at test.C.main(C.groovy:7) > Running with JDK 8 works fine. -- This message was sent by Atlassian JIRA (v6.4.14#64029)