【发布时间】:2015-08-26 04:09:24
【问题描述】:
我正在尝试使用 maven-processor-plugin 来生成 JPA 元模型 java 文件,我将 pom.xml 设置如下。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-proc:none</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<!-- source output directory -->
<outputDirectory>${basedir}/src/main/java</outputDirectory>
<processors>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
</processors>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
实际上,我想将元模型文件(Entity_.java)生成到其对应实体(Entity.java)的相同包中。因此,我在插件中将 outputDirectory 设置为
<outputDirectory>${basedir}/src/main/java</outputDirectory>
第一次运行是可以的,但是后来在重新生成元模型java文件时,插件总是出现文件重复的错误。
我的问题是 - 有没有办法配置插件,以便在重新生成期间覆盖现有文件?
事实上,解决方法
- 我必须在重新生成之前删除所有生成的文件。
- 我可以将 outputDirectory 指向 /target 中的不同文件夹,每次运行 Maven 时,此位置都是干净的,但是这 导致手动将生成的元模型文件复制到源文件夹 重新生成后更新。
这两个都非常不方便,希望大家能给我一个合适的解决方案。
【问题讨论】: