Rumah > Java > javaTutorial > Bagaimana untuk Membetulkan \'Pengecualian Teg Bait Tidak Sah\' dalam Tomcat 7 apabila Menaik taraf ke Java 8?

Bagaimana untuk Membetulkan \'Pengecualian Teg Bait Tidak Sah\' dalam Tomcat 7 apabila Menaik taraf ke Java 8?

DDD
Lepaskan: 2024-10-28 15:26:02
asal
894 orang telah melayarinya

 How to Fix

Pengecualian Teg Byte Tidak Sah dalam Tomcat 7 dengan Java 8

Apabila mengalihkan aplikasi web dari Tomcat 7 dan Java 7 ke pelayan lain yang menjalankan Tomcat 7 dan Java 8, ralat mungkin berlaku semasa permulaan:

org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
Salin selepas log masuk

Pengecualian ini berpunca daripada BCEL, perpustakaan kejuruteraan kod bait Java yang digunakan oleh Tomcat. Khususnya, pengimbasan anotasi (dengan metadata-complete="true" dalam web.xml) boleh mencetuskan isu disebabkan ketidakupayaan BCEL untuk memproses kod Java 8 bait tertentu.

Penyelesaian:

1. Lumpuhkan Pengimbasan Anotasi:

Jika pengimbasan anotasi tidak penting, ia boleh dilumpuhkan dengan menetapkan metadata-complete="false" dalam web.xml.

2. Tomcat 7.0.53 atau Kemudian:

Tomcat 7.0.53 dan keluaran seterusnya termasuk pengkompil yang dikemas kini dengan sokongan Java 8 yang dipertingkatkan. Menaik taraf kepada versi ini sepatutnya menyelesaikan pengecualian.

3. Langkau Java 8 JARs untuk Pengimbasan Anotasi (Lanjutan):

Jika pengimbasan anotasi diperlukan dan aplikasi web bukan berasaskan Java 8, tambahkan baris berikut ke /etc/tomcat7/catalina.properties:

junit.jar,junit-*.jar,ant-launcher.jar,\jfxrt.jar,nashorn.jar
Salin selepas log masuk

Barisan ini mengarahkan Tomcat untuk mengabaikan Java 8 JAR tertentu semasa pengimbasan anotasi.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'Pengecualian Teg Bait Tidak Sah\' dalam Tomcat 7 apabila Menaik taraf ke Java 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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