javassist broken on Jake

Claes Redestad claes.redestad at oracle.com
Sat Nov 12 13:53:31 UTC 2016


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.
>


More information about the jigsaw-dev mailing list