我正在尝试使用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运行都会清除该位置,但这 需要在重新生成之后手动将生成的元模型文件复制到源文件夹进行更新。
这两种方法都非常不方便,我希望你们能给我一个合适的解决方案。