我们在maven目标“generate”期间在target / java目录中生成了一些JPA实体。但并非所有这些都是生成的,因为其中一些是在我们的src / main / java目录中。有没有办法配置插件来指定多个源目录?
我尝试使用<additionalSourceRoots>target/java<additionalSourceRoots>
,但它不起作用。我也尝试添加target / java,但是这是唯一一个处理到主代码中未生成的JPA实体的目录。
我知道我可以尝试一种解决方法,尝试将生成的源复制到另一个目录并将其他实体放在那里,但我想知道是否有一个“干净”的解决方案。
EDITED
在安德烈回答之后我也尝试了这个,但仍然无效。 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>
由于
答案 0 :(得分:1)
Maven build helper pligin将完成这项工作。
然后使用“additionalSourceRoots”参数在maven-apt-plugin中添加更多源根。
答案 1 :(得分:1)
我们的问题是我们在目录3 中的类中使用了 directory1 和 directory2 中的一些类。 directory3 中的类是带有JPA注释的类。我们还发现将带有JPA注释类的目录作为最后一个目录是很重要的,否则apt插件就没有生成类。
令人惊讶的是,我试图添加额外的sourceDirectory标签,它对我有用:
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>process</goal>
</goals>
<configuration>
<sourceDirectory>__directory1__</sourceDirectory>
<sourceDirectory>__directory2__</sourceDirectory>
<sourceDirectory>__directory3__</sourceDirectory>
<outputDirectory>target/generated-sources</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>