Rumah > Java > javaTutorial > teks badan

Mengapa Apl Rangka Kerja Play Saya dengan Hibernate 4.3.0.Final Throw a NoSuchMethodError: javax.persistence.Table.indexes()?

DDD
Lepaskan: 2024-11-25 09:07:12
asal
835 orang telah melayarinya

Why Does My Play Framework App with Hibernate 4.3.0.Final Throw a NoSuchMethodError: javax.persistence.Table.indexes()?

NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index; dalam Hibernate

Semasa menggunakan aplikasi Play Framework dengan Hibernate 4.3.0.Final, pengguna mungkin menghadapi pengecualian NoSuchMethodError dalam javax.persistence.Table.indexes(). Isu ini khusus untuk Hibernate 4.3.0.Final dan tidak berlaku dalam versi sebelumnya seperti 4.2.5.Final.

Punca Punca

Ralat berlaku kerana konflik antara versi berbeza spesifikasi Hibernate dalam laluan kelas aplikasi. Artifak play-java-jpa bergantung pada API Hibernate 2.0 (hibernate-jpa-2.0-api), manakala Hibernate 4.3.0.Final memperkenalkan API Hibernate 2.1. Akibatnya, kedua-dua versi API wujud bersama dalam laluan kelas, yang membawa kepada pengecualian NoSuchMethodError.

Penyelesaian

Untuk menyelesaikan isu ini, kecualikan pergantungan API Hibernate 2.0 daripada fail build.sbt sambil memasukkan Hibernate 4.3.0.Final. Berikut ialah versi fail build.sbt yang dikemas kini:

libraryDependencies ++= Seq(
  javaJdbc,
  javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"),
  "org.hibernate" % "hibernate-entitymanager" % "4.3.0.Final"
)
Salin selepas log masuk

Nota:

  • Penyelesaian ini boleh digunakan untuk Play 2.2.x. Perbezaan kecil mungkin wujud dalam fail binaan untuk versi sebelumnya.
  • Selepas membuat perubahan ini, membina semula aplikasi harus menyelesaikan pengecualian NoSuchMethodError.

Atas ialah kandungan terperinci Mengapa Apl Rangka Kerja Play Saya dengan Hibernate 4.3.0.Final Throw a NoSuchMethodError: javax.persistence.Table.indexes()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan