sirthias / parboiled

Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful.
http://parboiled.org
Apache License 2.0
1.28k stars 156 forks source link

org.parboiled.transform.AsmUtils.findLoadedClass(String, ClassLoader) fails with Jigsaw #104

Open rfscholte opened 7 years ago

rfscholte commented 7 years ago

When trying to build and run doxia-module-markdown with Java9 (9-ea+144-jigsaw) it fails and after some digging it seems the issue has to do with the AsmUtils. The exception looks like this:

org.codehaus.plexus.component.repository.exception.ComponentLookupException: Unable to lookup component 'org.apache.maven.doxia.parser.Parser', it could not be created
        at org.apache.maven.doxia.module.markdown.MarkdownParserTest.setUp(MarkdownParserTest.java:55)
Caused by: org.codehaus.plexus.component.factory.ComponentInstantiationException: Could not instantiate component: role: 'org.apache.maven.doxia.parser.Parser', implementation: 'org.apache.maven.doxia.module.markdown.MarkdownParser', role hint: 'markdown' realm: plexus.core
        at org.apache.maven.doxia.module.markdown.MarkdownParserTest.setUp(MarkdownParserTest.java:55)
Caused by: java.lang.ExceptionInInitializerError
        at org.apache.maven.doxia.module.markdown.MarkdownParserTest.setUp(MarkdownParserTest.java:55)
Caused by: java.lang.RuntimeException: Error creating extended parser class: Could not determine whether class 'org.pegdown.Parser$$parboiled' has already been loaded
        at org.apache.maven.doxia.module.markdown.MarkdownParserTest.setUp(MarkdownParserTest.java:55)
Caused by: java.lang.RuntimeException: Could not determine whether class 'org.pegdown.Parser$$parboiled' has already been loaded
        at org.apache.maven.doxia.module.markdown.MarkdownParserTest.setUp(MarkdownParserTest.java:55)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) accessible: module java.base does not "opens java.lang" to unnamed module @2d2ffcb7
        at org.apache.maven.doxia.module.markdown.MarkdownParserTest.setUp(MarkdownParserTest.java:55)

If you need help to fix this, please contact the jigsaw team http://mail.openjdk.java.net/mailman/listinfo/jigsaw-dev

GeorgHoffmeyer commented 5 years ago

Maybe a similar problem:

Caused by: java.lang.IllegalArgumentException
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:160)
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:143)
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:418)
    at org.parboiled.transform.AsmUtils.createClassReader(AsmUtils.java:56)
    at org.parboiled.transform.ClassNodeInitializer.process(ClassNodeInitializer.java:62)
    at org.parboiled.transform.ParserTransformer.extendParserClass(ParserTransformer.java:44)
    at org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:39)
    at org.parboiled.Parboiled.createParser(Parboiled.java:54)