在 maven 目标“生成”期间,我们在 target/java 目录中生成了一些 JPA 实体。但并非所有这些都是生成的,因为其中一些位于我们的 src/main/java 目录中。有没有办法配置插件来指定多个源目录?
我试过了,<additionalSourceRoots>target/java<additionalSourceRoots>
但它不起作用。我还尝试将目标/java 减半,但这是唯一处理到未生成的主代码中的其他 JPA 实体的目录。
我知道我可以尝试一种解决方法,尝试将生成的源复制到另一个目录并将其他实体也放在那里,但我想知道是否有一个“干净”的解决方案。
已编辑
在安德烈回答之后,我也尝试过这个,但仍然无法正常工作。maven-apt-plugin 看不到位于 target/java 中的类生成类。我试过用<additionalSourceRoots>
不同的语法没有任何运气.. :(
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0.2</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<additionalSourceRoots>
<additionalSourceRoot>target/java</additionalSourceRoot>
</additionalSourceRoots>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
谢谢