在进行一次编译的时候,提示下面的错误信息:
java: java.lang.ClassNotFoundException: org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
问题和解决
如果你对 Hibernate 的元数据还是不非常了解的话,请参考文章: JPA 的 Metamodel 中的内容。
有关元数据生成器中的内容,请参看官方的:JPA Static Metamodel Generator
这里有几种使用方法:
我们使用了第一种的 Maven 配置方法:
<plugin>n <artifactId>maven-compiler-plugin</artifactId>n <configuration>n <source>1.8</source>n <target>1.8</target>n <compilerArguments>n <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>n </compilerArguments>n </configuration>n</plugin>n
在我们的项目中和 lombok 的插件编译方法冲突了。
需要将上面的配置方法通过 annotationProcessorPaths 来进行配置。
修改后的配置如下:
<plugin>n <groupId>org.apache.maven.plugins</groupId>n <artifactId>maven-compiler-plugin</artifactId>n <version>${maven-compiler-plugin.version}</version>n <configuration>n <release>${java.version}</release>n <annotationProcessorPaths>n <path>n <groupId>org.hibernate</groupId>n <artifactId>hibernate-jpamodelgen</artifactId>n <version>5.4.33.Final</version>n </path>n <path>n <groupId>org.projectlombok</groupId>n <artifactId>lombok</artifactId>n <version>1.18.24</version>n </path>n </annotationProcessorPaths>n </configuration>n </plugin>nn
然后再次编译和运行项目,上面的错误就解决了。
通常官方文档需要认真参考下。