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

战火

我正在尝试使用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文件重新生成时,该插件始终会发现有关文件复制的错误。

我的问题是-有什么方法可以配置插件,以便在重新生成过程中覆盖现有文件?

实际上,要变通

  1. 在重新生成之前,我必须删除所有生成的文件。
  2. 我可以将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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Maven的Eclipselink 2.5元模型生成

来自分类Dev

修改*某些*文件后,在Program实例中重新生成类型的最快方法是什么?

来自分类Dev

使用JPA 2.1生成元模型类

来自分类Dev

如何使用 Hibernate JPA 2 元模型生成器?

来自分类Dev

如何使用java_common.compile.annotation_processor_additional_outputs生成声明的文件和目录?

来自分类Dev

Vaadin 7使用Maven构建,如何防止始终重新生成style.css

来自分类Dev

如何使用autoconf重新生成配置文件?

来自分类Dev

如何在Maven的“程序包”上重新生成目标文件夹?

来自分类Dev

使用ID会话重新生成Laravel登录

来自分类Dev

使用当前设置重新生成xorg.conf

来自分类Dev

未生成 JPA 2 元模型

来自分类Dev

使用RASA API(rasa.core.processor-遇到异常)的正确方法是什么?

来自分类Dev

Vim:如何使用其撤消文件重新生成文件?

来自分类Dev

不使用单个文件组件时强制在vue 3中重新生成代码

来自分类Dev

org.bsc.maven.maven-processor-plugin在Java 1.7及更高版本中不起作用

来自分类Dev

使用Maven生成JavaFX项目

来自分类Dev

jOOQ:使用Maven生成代码

来自分类Dev

JPA静态元模型生成器的正确gradle设置是什么?

来自分类Dev

生成的文件不会使用Assembly Plugin复制到Maven项目zip中

来自分类Dev

iOS:重新生成UIImageView

来自分类Dev

Cpanel中的“重新生成”文件

来自分类Dev

我需要重新生成ufw文件

来自分类Dev

使用PHP和JQuery生成HTML的最佳方法是什么

来自分类Dev

使用maven-site-plugin生成站点时构建失败

来自分类Dev

不是使用Maven-jaxb2-plugin从xsd生成类的?

来自分类Dev

当使用CMake更改基础版本文本文件时,如何始终重新生成版本头文件?

来自分类Dev

如何生成JPA元模型与5.x的摇篮

来自分类Dev

IntelliJ - 生成的 JPA 元模型的 java 编译器错误

来自分类Dev

GWT代码服务器未使用Maven原型在新生成的项目中找到模块

Related 相关文章

  1. 1

    使用Maven的Eclipselink 2.5元模型生成

  2. 2

    修改*某些*文件后,在Program实例中重新生成类型的最快方法是什么?

  3. 3

    使用JPA 2.1生成元模型类

  4. 4

    如何使用 Hibernate JPA 2 元模型生成器?

  5. 5

    如何使用java_common.compile.annotation_processor_additional_outputs生成声明的文件和目录?

  6. 6

    Vaadin 7使用Maven构建,如何防止始终重新生成style.css

  7. 7

    如何使用autoconf重新生成配置文件?

  8. 8

    如何在Maven的“程序包”上重新生成目标文件夹?

  9. 9

    使用ID会话重新生成Laravel登录

  10. 10

    使用当前设置重新生成xorg.conf

  11. 11

    未生成 JPA 2 元模型

  12. 12

    使用RASA API(rasa.core.processor-遇到异常)的正确方法是什么?

  13. 13

    Vim:如何使用其撤消文件重新生成文件?

  14. 14

    不使用单个文件组件时强制在vue 3中重新生成代码

  15. 15

    org.bsc.maven.maven-processor-plugin在Java 1.7及更高版本中不起作用

  16. 16

    使用Maven生成JavaFX项目

  17. 17

    jOOQ:使用Maven生成代码

  18. 18

    JPA静态元模型生成器的正确gradle设置是什么?

  19. 19

    生成的文件不会使用Assembly Plugin复制到Maven项目zip中

  20. 20

    iOS:重新生成UIImageView

  21. 21

    Cpanel中的“重新生成”文件

  22. 22

    我需要重新生成ufw文件

  23. 23

    使用PHP和JQuery生成HTML的最佳方法是什么

  24. 24

    使用maven-site-plugin生成站点时构建失败

  25. 25

    不是使用Maven-jaxb2-plugin从xsd生成类的?

  26. 26

    当使用CMake更改基础版本文本文件时,如何始终重新生成版本头文件?

  27. 27

    如何生成JPA元模型与5.x的摇篮

  28. 28

    IntelliJ - 生成的 JPA 元模型的 java 编译器错误

  29. 29

    GWT代码服务器未使用Maven原型在新生成的项目中找到模块

热门标签

归档