gpt4 book ai didi

hibernate - 使用maven-processor-plugin生成JPA元模型文件-重新生成的便捷方法是什么?

转载 作者:行者123 更新时间:2023-12-04 10:03:44 25 4
gpt4 key购买 nike

我正在尝试使用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运行时都将是干净的,但这
    导致将生成的元模型文件手动复制到源文件夹
    重新生成后进行更新。

  • 两者都很不方便,我希望你们能为我提供适当的解决方案。

    最佳答案

    正确的解决方案是,生成的源应位于目标文件夹中,并且不应放入源文件夹或SCM系统中。

    当然,通过将生成的源代码放置到目标中,您将在IDE中遇到问题,因为找不到相关的代码。因此,您可以添加build-helper-maven-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>${project.build.directory}/generated-sources/java/jpametamodel</outputDirectory>
    <processors>
    <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
    </processors>
    <overwrite>true</overwrite>
    </configuration>
    </execution>
    </executions>
    </plugin>
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
    <execution>
    <id>add-source</id>
    <phase>generate-sources</phase>
    <goals>
    <goal>add-source</goal>
    </goals>
    <configuration>
    <sources>
    <source>${project.build.directory}/generated-sources/java/jpametamodel</source>
    </sources>
    </configuration>
    </execution>
    </executions>
    </plugin>

    关于hibernate - 使用maven-processor-plugin生成JPA元模型文件-重新生成的便捷方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30764266/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com