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.

Reply via email to