java HibernatePersistenceProvider:不支持的专业。次要版本52.0 intellij
我找了这么多问题
How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version
但答案对我来说并不适用
我使用的是jdk 1.7,我将编译器设置为1.7.0_79,这意味着是java 7,但当我运行时,仍然会收到错误,我将项目字节码版本设置为1.7,但消息相同
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/hibernate/jpa/HibernatePersistenceProvider : Unsupported major.minor version 52.0
当尝试加载 坚持不懈xml在这一行
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
在这一行的java代码中
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("sample");
# 1 楼答案
我在使用Hibernate进行项目时遇到了同样的问题:
Caused by: java.lang.UnsupportedClassVersionError: org/hibernate/jpa/HibernatePersistenceProvider : Unsupported major.minor version 52.0
更新IntelliJ和Maven项目设置(如here和here所述)以使用相同的Java版本进行编译和运行并不能解决问题
正如前面
Adrian Shum
所指出的,如果你想使用Java 7
,你必须检查与Hibernate
相关的库,因为Hibernate 5.2 and later versions require at least Java 1.8
(Hibernate System Requirements)在我的例子中,降低POM文件中的库版本通过更改
进入
# 2 楼答案
“Unsupported major.minor version”通常出现,因为编译java程序时使用的java版本比运行它时使用的版本大
因此,在您的例子中,您使用java 7编译了应用程序,但您可能正在尝试使用java 6或更小的版本来运行它
更改运行应用程序的java版本,使其与编译时使用的版本相匹配(本例中为7)
# 3 楼答案
我也有同样的问题,使用JDK7编译它的方法是将hibernate jpamodelgen添加到我的pom中。xml
添加此选项可以解决问题,只需选择您正在使用的版本即可
# 4 楼答案
由于hibernate core 5.2及更高版本不支持JDK 1.7。所以请将maven依赖项更改为5.1。JDK 1.7的x和更低版本。但在所有较低版本的hibernate内核中,都缺少所有类的“org.hibernate.jpa”包
如果您需要hibernate持久性提供程序,则获取未找到类的异常。因此,您应该添加一个新的依赖项