...
Code Block |
---|
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <annotationProcessors> <annotationProcessor>db.annotationprocessing.PropertyAnnotationProcessor</annotationProcessor> </annotationProcessors> <annotationProcessorPaths> <dependency> <groupId>to.etc.domui</groupId> <artifactId>property-annotations-processor</artifactId> <version>1.2-SNAPSHOT</version> </dependency> </annotationProcessorPaths> </configuration> </plugin> <dependencies> <dependency> <groupId>to.etc.domui</groupId> <artifactId>property-annotations-processor</artifactId> <version>1.2-SNAPSHOT</version> </dependency> </dependencies> </plugin> </plugins> </build> |
This assumes that you already have a parent/upper POM which defines the rest of the maven-compiler-plugin's configuration.
...
</plugins>
</build> |
This assumes that you already have a parent/upper POM which defines the rest of the maven-compiler-plugin's configuration.
If you have a project that consists of multiple modules then you should add the above configuration to the existing maven-compiler-plugin definition inside your parent/root POM, so that all projects get the configuration automatically. In such a case the config might also be present in a pluginManagement section.
You also need to use at least the following versions of the build plugins specified in your parent/top pom:
Plugin | Version | |
---|---|---|
maven-compiler-plugin | 3.7.0 | |
plexus-compiler-eclipse | 2.8.4 | Only when you build your code in Maven using the Eclipse plugin, see this stackoverflow article for details |
Warning |
---|
One warning: if you use the Eclipse compiler to compile your code in Maven then you need to make sure that you use at least version 2.8.4 of the plexus-compiler-eclipse plugin (to be released) because any version before that does not support annotation processors. |
...
To fix this just add the annotation processor as a direct dependency of all of the modules that need the thing inside the project that needs it by adding the following fragment to the dependencies section:
Code Block |
---|
<dependency> <groupId>to.etc.domui</groupId> <artifactId>property-annotations-processor</artifactId> <version>1.2-SNAPSHOT</version> </dependency> |
Using the annotations processor with IntelliJ and Maven
...