网络知识 娱乐 Hibernate 元数据模型(MetaModel)提示类没有找到错误

Hibernate 元数据模型(MetaModel)提示类没有找到错误

在进行一次编译的时候,提示下面的错误信息:

java: java.lang.ClassNotFoundException: org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor

Hibernate 元数据模型(MetaModel)提示类没有找到错误

问题和解决

如果你对 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>nHibernate 元数据模型(MetaModel)提示类没有找到错误

在我们的项目中和 lombok 的插件编译方法冲突了。

Hibernate 元数据模型(MetaModel)提示类没有找到错误


需要将上面的配置方法通过 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

然后再次编译和运行项目,上面的错误就解决了。

Hibernate 元数据模型(MetaModel)提示类没有找到错误

通常官方文档需要认真参考下。