当前位置: 首页 > 面试题库 >

通过Maven生成JPA Hibernate元模型

鱼安然
2023-03-14
问题内容

我遵循了JPA modelgen
指南,并且能够生成所需的规范元模型。通过此pom设置:

<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <compilerArgument>-proc:none</compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.bsc.maven</groupId>
                <artifactId>maven-processor-plugin</artifactId>
                <version>2.0.6-redhat</version>
                <executions>
                    <execution>
                        <id>process</id>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <phase>generate-sources</phase>
                        <configuration>
                            <outputDirectory>target/metamodel</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>target/metamodel</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

生成的源已在指定目录中正确创建,我必须手动将其指定为eclipse项目类路径中的源才能使用它。当我触发Maven时,日志显示cannot find symbol或,duplicate class并且我仍然可以成功构建。所以我的问题是,在创建元模型时这种预期/正确的行为吗?还是我错过了cofig中的某些内容?谢谢


问题答案:

我也在使用JPA Metamodel Generator,但我没有您描述的问题,也许我的配置可以帮上忙,我看到了一些区别,第一个是 maven- processor-plugin

<plugin>
  <groupId>org.bsc.maven</groupId>
  <artifactId>maven-processor-plugin</artifactId>
  <version>2.1.0</version>
  <executions>
    <execution>
      <id>process</id>
      <goals>
        <goal>process</goal>
      </goals>
      <phase>generate-sources</phase>
      <configuration>
        <processors>
          <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
        </processors>
      </configuration>
    </execution>
  </executions>
  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-jpamodelgen</artifactId>
      <!--version>1.2.0.Final</version-->
      <version>4.3.4.Final</version>
    </dependency>
  </dependencies>
</plugin>

如您所见,我必须添加hibernate-jpamodelgen作为依赖项和处理器属性。

我不确定是否build-helper-maven- plugin有必要将生成的源目录添加到源路径。我没有使用它,但它对我有用,但这也许是因为我使用的是生成源的默认输出路径。



 类似资料:
  • 问题内容: 我需要在maven pom.xml文件中设置一个属性,该属性应该是UUID。谁能告诉我 将属性设置为UUID的最佳方法是什么? 我正在使用启动gigaspaces的配置文件,并且gigaspaces需要组名, 想要唯一(uuid)。因此,在我的个人资料中,我想设置一个groupName属性值 每次构建都应更改。我自己写了一个UUIDGenerator插件,因为没有找到任何插件。 因此,

  • 我在一个现有的EMF项目中有一个Ecore模型,希望通过Xtend将所有包含类的名称打印到一个文本文件中。你是如何做到这一点的?XTend示例没有展示如何使用模型并从中获取信息。

  • 我想知道如何使用Maven和Eclipselink 2.5生成静态元模型。通过将这些行添加到pom中,它工作得很好。运行Eclipselink 2.4时使用xml。 但2.4版之后似乎发生了一些变化,原因如下: 你们能帮帮我吗 B. R.

  • 我正在使用hibernate jpamodelgen使用maven生成元模型类。 当我运行mvn clean软件包时,它运行良好,没有任何问题。但是如果我第二次运行mvn包(没有clean),我会得到以下异常: 环境: 我pom.xml的片段:

  • 问题内容: 我正在使用hibernate-jpamodelgen使用maven生成元模型类。 当我运行 mvn clean package时 ,它运行正常,没有任何问题。但是,如果我第二次运行 mvn软件包 (没有清理),则会收到以下异常: 环境 : 我的pom.xml中的代码段: 问题答案: 找到答案!… 这是 3.2 和 3.3 版本的 maven-compiler-plugin中的错误 。

  • 我的自动化测试有问题,我的测试通过Eclipse运行没有问题。 但是当我想在Jenkins上运行这个测试时,它总是在同一行(在同一个选择器上)失败。 在端口21173上运行TestSuite启动ChromeDriver2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4)仅允许本地连接。测试运行: 1,失败: 1,错误: 0,跳过: 0,时间流