Hi,
this appears to be due to the implementation of #NonHierarchicalLayers
proposal which is now in jake:
http://openjdk.java.net/projects/jigsaw/spec/issues/#NonHierarchicalLayers
In short Optional<Layer> Layer.parent() has been replaced by List<Layer>
Layer.parents()
/Claes
On 2016-11-12 14:42, Stephen Felts wrote:
I've been trying to get a javassist that works in all environments.
For a while, I created a multi release jar file that used Javassist 3.20 for
pre-jdk9 and Javassist 3.21 for JDK9/Jake. The JDK team wasn't happy about
this use of multi release jar files but it worked great.
Then 3.22.0-CR1 was released and I thought the problem was solved. This is
working for pre-JDK9 and JDK-9 but it's now failing on Jake (build 143).
java.lang.NoSuchMethodError:
java.lang.reflect.Layer.parent()Ljava/util/Optional;
[exec] at javassist.ModuleClassPath.<init>(ModuleClassPath.java:54)
[exec] at javassist.ModuleClassPath.<init>(ModuleClassPath.java:40)
[exec] at javassist.LoaderClassPath.<init>(LoaderClassPath.java:82)
[exec] at
javassist.ClassPoolTail.appendSystemPath(ClassPoolTail.java:248)
[exec] at javassist.ClassPool.appendSystemPath(ClassPool.java:944)
[exec] at javassist.ClassPool.<init>(ClassPool.java:179)
[exec] at
org.glassfish.hk2.xml.tools.Hk2XmlGenerator.initializeHk2XmlGenerator(Hk2XmlGenerator.java:86)
[exec] at
org.glassfish.hk2.xml.tools.Hk2XmlGenerator.process(Hk2XmlGenerator.java:140)
[exec] at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:959)
[exec] at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:875)
[exec] at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2100(JavacProcessingEnvironment.java:106)
[exec] at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1182)
[exec] at
jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1290)
[exec] at
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1260)
[exec] at
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:939)
[exec] at
jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:304)
[exec] at
jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:160)
[exec] at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:55)
[exec] at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:41)
I guess I will need to go back to my 3.2021 for now.