2016-09-15 115 views
2

我搜索了這個問題這樣HibernatePersistenceProvider:不支持MAJOR.MINOR版本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 

此異常情況發生時,嘗試加載在這一行

<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 

,並在Java代碼在這一行

EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("sample"); 
+0

的唯一方法是用java 8 – user1610308

+1

不知道如何鏈接幫不了你。你在這裏檢查過嗎? http://hibernate.org/orm/documentation/getting-started/如果您使用的是Hibernate 5.2或更高版本,則需要使用JDK8。你引用的鏈接是否解釋了爲什麼 –

回答

2

我曾遇到過同樣的問題上與Hibernate的一個項目工作,而你正在使用的版本:Caused by: java.lang.UnsupportedClassVersionError: org/hibernate/jpa/HibernatePersistenceProvider : Unsupported major.minor version 52.0

更新IntelliJ和Maven項目設置(如註釋herehere)使用相同的Java版本進行編譯和運行並未解決問題。

正如Adrian Shum指出前,如果你想使用Java 7你必須檢查Hibernate - 相關庫,因爲Hibernate 5.2 and later versions require at least Java 1.8Hibernate System Requirements)。

在我的情況下,降級的POM文件中的庫版本解決了這個問題,通過改變

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>5.2.6.Final</version> 
</dependency> 

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>5.1.4.Final</version> 
</dependency> 
0

的 的persistence.xml「不支持MAJOR.MINOR版」通常會出現,因爲你是用比你想要運行的更大版本的java編譯java程序。

因此,在你的情況下,你用java 7編譯你的應用程序,但你可能正在嘗試運行它與Java 6或更小。

更改運行您的應用程序的Java版本,使其與您正在編譯的版本匹配(您的情況爲7)。

+0

我有最新的jre,但它與這個編譯問題沒有任何關係,我guss – user1610308

+1

'1.7.0_79'不是最新的。使用JDK 8或更高版本。而且,這與編譯問題有關。 –

1

我有同樣的問題,我可以使用JDK7編譯它的方式是將hibernate-jpamodelgen添加到我的pom.xml中。

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

添加這應該解決這個問題,只需選擇

相關問題