Java 在Maven中配置hibernate jpamodelgen

Java 在Maven中配置hibernate jpamodelgen,java,maven,Java,Maven,我想将hibernate jpamodelgen配置为Maven POM文件。我试过这个: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org

我想将hibernate jpamodelgen配置为Maven POM文件。我试过这个:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>plugin</groupId>
    <artifactId>org.plugin</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>Plugin</name>
    <url>http://maven.apache.org</url>

    <parent>
         ........
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
            <version>5.4.3.Final</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>datalis_plugin</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>10</source>
                    <target>10</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.6</version>
                        </path>
                    </annotationProcessorPaths>
                    <compilerArguments>
                        <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
                    </compilerArguments>
                </configuration>
            </plugin>               
        </plugins>
    </build>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>   
</project>
你知道我如何解决这个问题吗?
我使用了这一点:

对于Java 12,请在build In pom.xml中使用下面的代码片段

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <release>12</release>  
    </configuration>
</plugin>

org.apache.maven.plugins
maven编译器插件
3.8.0
12
在此之后,为jpamodelgen添加以下内容

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-jpamodelgen</artifactId>
  <version>5.4.3.Final</version>
  <optional>true</optional>
</dependency>

org.hibernate
冬眠
5.4.3.最终版本
真的

对于Java 12,请在build In pom.xml中使用以下代码片段

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <release>12</release>  
    </configuration>
</plugin>

org.apache.maven.plugins
maven编译器插件
3.8.0
12
在此之后,为jpamodelgen添加以下内容

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-jpamodelgen</artifactId>
  <version>5.4.3.Final</version>
  <optional>true</optional>
</dependency>

org.hibernate
冬眠
5.4.3.最终版本
真的
从中删除提供的

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <version>5.4.3.Final</version>
    </dependency>
从中删除提供的

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <version>5.4.3.Final</version>
    </dependency>

我通常只是将hibernate jpamodelgen添加到编译器插件的annotationprocessorpath中。这将防止在部署中打包处理器

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <annotationProcessorPaths>
        <path>
          <groupId>org.mapstruct</groupId>
          <artifactId>mapstruct-processor</artifactId>
          <version>${org.mapstruct.version}</version>
        </path>
        <path>
          <groupId>org.hibernate</groupId>
          <artifactId>hibernate-jpamodelgen</artifactId>
          <version>5.4.3.Final</version>
        </path>
      </annotationProcessorPaths>
    
    </configuration>
  </plugin>

org.apache.maven.plugins
maven编译器插件
org.mapstruct
mapstruct处理器
${org.mapstruct.version}
org.hibernate
冬眠
5.4.3.最终版本

我通常只是将hibernate jpamodelgen添加到编译器插件的annotationprocessorpath中。这将防止在部署中打包处理器

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <annotationProcessorPaths>
        <path>
          <groupId>org.mapstruct</groupId>
          <artifactId>mapstruct-processor</artifactId>
          <version>${org.mapstruct.version}</version>
        </path>
        <path>
          <groupId>org.hibernate</groupId>
          <artifactId>hibernate-jpamodelgen</artifactId>
          <version>5.4.3.Final</version>
        </path>
      </annotationProcessorPaths>
    
    </configuration>
  </plugin>

org.apache.maven.plugins
maven编译器插件
org.mapstruct
mapstruct处理器
${org.mapstruct.version}
org.hibernate
冬眠
5.4.3.最终版本


您使用的是哪个版本的Java?最新-Java版本“12.0.1”2019-04-16您使用的是哪个版本的Java?最新-Java版本“12.0.1”2019-04-16 org.hibernate.jpamodelgen.jpametamodelenticyprocessor怎么样?看起来不工作。我正在尝试实现此代码:我得到
找不到符号[ERROR]symbol:variable PaymentTransactions\u
可能是因为未生成
PaymentTransactions\u
。你知道我应该手动创建
PaymentTransactions\uuuuu
吗?顺便问一下,你能用maven命令生成项目吗?用
clean package
?这意味着你能用maven命令生成项目,而不是生成类。你能查一下这个链接吗。那么org.hibernate.jpamodelgen.jpametamodelenticyprocessor呢?看起来它不工作了。我正在尝试实现此代码:我得到
找不到符号[ERROR]symbol:variable PaymentTransactions\u
可能是因为未生成
PaymentTransactions\u
。你知道我应该手动创建
PaymentTransactions\uuuuu
吗?顺便问一下,你能用maven命令生成项目吗?用
clean package
?这意味着你能用maven命令生成项目,而不是生成类。你能查一下这个链接吗。谢谢,昨天我尝试了这个,但是我得到了
插件执行未包含在生命周期配置中:org.bsc.maven:maven处理器插件:3.1.0:process(执行:process,阶段:generate sources)
第218行:这里:让我尝试通过添加来解决这个问题,不幸的是,我可以构建项目,但仍然没有生成元模型。。。非常奇怪……我需要为Spring做一些特定的配置吗?谢谢,昨天我尝试了这个,但是我得到了生命周期配置中没有包含的
插件执行:org.bsc.maven:maven处理器插件:3.1.0:process(执行:process,阶段:generate sources)
此处第218行:让我尝试通过添加以下内容来解决此问题:不幸的是,我可以构建项目,但元模型没有生成。。。非常奇怪……我需要为Spring做一些特定的配置吗?