http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<artifactId>yyy-data</artifactId>
<name>VS yyy (data)</name>
<parent>
<groupId>de.xxx</groupId>
<artifactId>yyy-server</artifactId>
<version>8.1.0-SNAPSHOT</version>
</parent>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<distribution.outputDirectory>${project.build.directory}/dist</distribution.outputDirectory>
</properties>
<dependencies>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
</dependency>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.8</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.2.8-b01</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.8-b01</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.3.0.Final</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.3.0.Final</version>
</path>
</annotationProcessorPaths>
<annotationProcessors>
<annotationProcessor>de.zzz.annotation.processor.GenerateHibernateTypeForEnumProcessor</annotationProcessor>
<annotationProcessor>de.zzz.annotation.processor.GenerateHibernateTypeForWertelistenProcessor</annotationProcessor>
<annotationProcessor>de.zzz.annotation.processor.BusinessObjectAnnotationProcessor</annotationProcessor>
<annotationProcessor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>m2e</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Dear all,
I need some help in implementing mapstruct
in my project
. I already have some annotation processors which need to be named in the pom.xml
of maven.
Mapstruct
recommends to add annotationProcessorPaths
in the pom.xml. It seems that it is not possible to use both annotations (annotationProcessorPaths
and annotationProcessor
) in the same pom. If I do, I get the error
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default) on project yyy-data: Compilation failure [ERROR] Annotation processor 'de.zzz.annotation.processor.GenerateHibernateTypeForEnumProcessor' not found
I did shorten the pom. So there may be more dependencies than really needed.
Thanks in advance Oliver
You can still use annotationProcessor
. You would need to add the mapstruct-processor
in your dependencies and then add org.mapstruct.ap.MappingProcessor
in the annotationProcessor
.
The reason why you are seeing the error is because when you define annotationProcessorPaths
the maven-compiler-plugin
will only use those for looking for annotation processors and not your other dependencies.
Alternatively you can also add all the annotation processors you have in the annotationProcessoPaths
instead if your dependencies.