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

Reply via email to