Rumah >Java >javaTutorial >Mengapa Kod Java Saya Membuang `java.lang.UnsupportedClassVersionError` Walaupun Versi JRE yang Konsisten?
java.lang.UnsupportedClassVersionError: Membongkar Ralat Mengelirukan
Walaupun mempunyai versi Java Runtime Environment (JRE) yang seragam, pembangun boleh menghadapi membingungkan "java.lang.UnsupportedClassVersionError: Nombor versi buruk dalam .class file" pengecualian. Mesej ralat ini biasanya mencadangkan versi yang tidak sepadan antara kompilasi kod dan persekitaran pelaksanaan. Walau bagaimanapun, jika semua kejadian JRE menunjukkan versi yang sama, isu dalaman dalam pangkalan kod mungkin menjadi puncanya.
Penjelasan Kemungkinan
Mesej ralat yang diberikan menunjukkan bahawa salah satu perpustakaan sumber terbuka yang disertakan telah disusun dengan versi Java yang berbeza daripada yang sedang digunakan. Walau bagaimanapun, ini diketepikan oleh semakan pengguna, meninggalkan misteri samar.
Setelah siasatan lanjut, didapati bahawa Eclipse mempunyai pengkompil sendiri, bebas daripada JRE sistem. Pengkompil ini membenarkan penyusunan 1.6 kelas walaupun dengan 1.5 JRE hadir. Tingkah laku yang kelihatan tidak logik ini boleh dijelaskan dengan tetapan dalam Eclipse yang mengatasi versi JRE untuk projek tertentu.
Resolusi
Untuk menyelesaikan isu tersebut, pengguna harus:
Dengan menangani kompilasi dalaman ketidakkonsistenan, pengecualian "java.lang.UnsupportedClassVersionError" boleh dihapuskan, menyerlahkan kepentingan memberi perhatian kepada mesej ralat walaupun apabila ia kelihatan berlawanan dengan intuitif.
Atas ialah kandungan terperinci Mengapa Kod Java Saya Membuang `java.lang.UnsupportedClassVersionError` Walaupun Versi JRE yang Konsisten?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!