Robert Munteanu Robert Munteanu - 1 year ago 99
Java Question

Setting the generated source directory for annotation processors in Maven

I'm trying to move a build which generates sources using an annotation processor to Maven. I've tried configuring the maven-compiler-plugin as follows:

<compilerArgument>-s ${}/target/generated-sources/annotation-processing</compilerArgument>

But javac fails with

[INFO] Compilation failure
Failure executing javac, but could not parse the error:
javac: invalid flag: -s /home/robert/workspaces/betbrain/sportsengine.common/sportsengine.bean.test/target/target/generated-sources/annotation-processing
Usage: javac <options> <source files>
use -help for a list of possible options

As far as I can tell, -s should be passed before the source files to javac, but maven passes it after.

How can I pass the
flag properly to the maven-compiler-plugin?

Update: the maven-annotation-plugin does not seem to work.

When configured as


Execution fails with

[INFO] [processor:process {execution: process}]
error: Annotation processor 'xxx.annotation.EnforceJavaBeansConventionsProcessor' not found
1 error

Answer Source

The plugin was using the harcoded Windows classpath separator to build the classpath, so it was failing on my Linux machine.

Submitted patches:

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download