I spoke too soon. It appears my java9 classes are not being found in the multi-release jar so I still don’t know if it fixes the problem with the scanner.
Ralph > On Jun 15, 2017, at 8:28 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote: > > FWIW, building the jar as a multi-release jar did fix this problem, but > building a multi-release jar with Maven is a bear to do. I have to invoke the > compiler plugin first to compile the pre-java9 classes using the java 7 or 8 > compiler, call the maven-bundle-plugin, call the maven-helper-plugin to add > the java9 source directory, call the compiler plugin again with the java9 > toolchain, call the antrun plugin to move the java9 classes to the proper > META-INF location (because there is no way to tell the compiler plugin to put > them in the correct place and the antrun plugin doesn’t support toolchains so > it can’t be used to compile) and then call the jar plugin. The > maven-bundle-plugin doesn’t support multi-release jars so it has to be called > before the java9 classes are created. > > Ralph > >> On Jun 15, 2017, at 4:42 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote: >> >> I have a plugin that uses a jar that doesn’t have any Maven plugin >> annotations in it but does have classes compiled for Java 9 in it that are >> only used when executing on Java 9. Loading of the plugin is failing because >> the annotation scanner can’t read the class. What do I need to do to prevent >> annotation scanning on that dependency? Would this work if the dependency >> was in multi-release format? >> >> Here is the relevant stack trace. >> >> Caused by: java.lang.IllegalArgumentException >> at org.objectweb.asm.ClassReader.<init>(Unknown Source) >> at org.objectweb.asm.ClassReader.<init>(Unknown Source) >> at org.objectweb.asm.ClassReader.<init>(Unknown Source) >> at >> org.apache.maven.tools.plugin.extractor.annotations.scanner.DefaultMojoAnnotationsScanner.analyzeClassStream(DefaultMojoAnnotationsScanner.java:214) >> at >> org.apache.maven.tools.plugin.extractor.annotations.scanner.DefaultMojoAnnotationsScanner.scanArchive(DefaultMojoAnnotationsScanner.java:145) >> at >> org.apache.maven.tools.plugin.extractor.annotations.scanner.DefaultMojoAnnotationsScanner.scan(DefaultMojoAnnotationsScanner.java:112) >> at >> org.apache.maven.tools.plugin.extractor.annotations.scanner.DefaultMojoAnnotationsScanner.scan(DefaultMojoAnnotationsScanner.java:79) >> at >> org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.scanAnnotations(JavaAnnotationsMojoDescriptorExtractor.java:124) >> at >> org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.execute(JavaAnnotationsMojoDescriptorExtractor.java:103) >> at >> org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor(DefaultMojoScanner.java:96) >> at >> org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:283) >> at >> org.apache.maven.plugin.plugin.HelpGeneratorMojo.execute(HelpGeneratorMojo.java:92) >> at >> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) >> >> Ralph >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> For additional commands, e-mail: dev-h...@maven.apache.org >> >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org