You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (Jira)" <ji...@apache.org> on 2021/09/10 17:34:00 UTC
[jira] [Commented] (MCOMPILER-369) Adding module-info.java breaks
JMH annotation processor
[ https://issues.apache.org/jira/browse/MCOMPILER-369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17413306#comment-17413306 ]
Robert Scholte commented on MCOMPILER-369:
------------------------------------------
It looks like this can't be fixed in the code. I suggest to add an entry to the [Frequently Asked Questions|https://maven.apache.org/plugins/maven-compiler-plugin/faq.html] page.
> Adding module-info.java breaks JMH annotation processor
> -------------------------------------------------------
>
> Key: MCOMPILER-369
> URL: https://issues.apache.org/jira/browse/MCOMPILER-369
> Project: Maven Compiler Plugin
> Issue Type: Bug
> Affects Versions: 3.8.0
> Reporter: Gili
> Priority: Major
> Attachments: annotation-processor-jigsaw.zip
>
>
> # Open testcase
> # Run {{clean install}}. Notice that the benchmarks run.
> # Open {{pom.xml}} and comment-out the {{<annotationProcessorPaths> section.}}
> # Run {{clean install}}. Notice that the annotation processor does not run and the benchmarks break.
> # Delete/rename {{module-info.java}}.
> # Run {{clean install}}. Notice that the benchmarks work again.
> The documentation for {{<annotationProcessorPaths>}} states that by default annotation processors are detected from the classpath. It seems that adding {{module-info.java}} breaks that somehow, which is weird/unexpected because JMH exists as a dependency outside the newly-declared module.
> I did two things to prove that the annotation processor is not being invoked in step 4:
> # Notice that {{target/test-classes/META-INF}} is not created.
> # Place a breakpoint in {{org.openjdk.jmh.generators.BenchmarkProcessor}} and notice that it is never even constructed.
> I tried digging into the maven-compiler-plugin and plexus-compiler source-code but couldn't figure out where the problem is. The only workaround I found is to specify {{annotationProcessorPaths}} manually but it took me half a day to track down this problem.
> Any idea what is going on? Is this a bug in the plugin(s)?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)