2017-08-12 11 views
0

は私が私の最初の休止状態のプロジェクトが正確に同じ書きましたが、私はこの例外ました:java.lang.NoSuchMethodError:javax.persistence.Table.indexes()[Ljavax/persistence/Index;私の先生がやったよう

> Exception in thread "main" java.lang.ExceptionInInitializerError 
> Caused by: javax.persistence.PersistenceException: No Persistence 
> provider for EntityManager named Sharif: Provider named 
> org.hibernate.jpa.HibernatePersistenceProvider threw unexpected 
> exception at create EntityManagerFactory: java.lang.NoSuchMethodError 
> java.lang.NoSuchMethodError: 
> javax.persistence.Table.indexes()[Ljavax/persistence/Index; 

を、私はpersistence.xmlファイルでも

<persistence-unit name="Sharif" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 

とIを永続ユニット名を書きました私のエンティティクラス(Person)でエンティティアノテーションを使用 私の問題に関連するほぼすべての質問をチェックしますが、解決できません。 プロジェクトの依存関係:
enter image description here

+0

[という名前のEntityManagerなし永続プロバイダ]の可能な重複(https://stackoverflow.com/questions/1158159/no-persistence-provider-for-entitymanager-named) – Jakob

+0

エラーメッセージは、 ' という名前のプロバイダを言う>組織.hibernate.jpa.HibernatePersistenceProviderは予期しない 'を投げた。これは、プロバイダが正しく指定されていると信じて、問題はどこかにある。 私はあなたのクラスパスにhibernate/jpaプロバイダのバージョンが競合していると思います。プロジェクトのすべての依存関係のリストを表示できますか? – Andrei

+0

@Jakob、それはあなたが言及する問題の重複ではありません。たいていの場合、これは重複/わずかなバリエーションだと思う: https://stackoverflow.com/questions/20734540/nosuchmethoderror-in-javax-persistence-table-indexesljavax-persistence-index エラーを見れば指定されたプロバイダが正しく検出されたことがわかります。メッセージは少し誤解を招く。 – Andrei

答えて

0

私は新しいプロジェクトを作成し、それにすべてのコードをコピーします。私の問題は、hibernate-core.jarの既存の2バージョン、このファイルhibernate-core-5.2.10.Final.jarとこのhibernate-core-5.2.1.Final.jarのために起こったと思います。余分なjarファイルを削除し、新しいlibフォルダを新しいプロジェクトにコピーしたところ、正常に実行されました。

関連する問題