Rumah >Java >javaTutorial >Bolehkah Kod Java 1.4 Dikompilasi pada Java 5 Tanpa Membina Semula Stub?
Sekatan Akses pada Perpustakaan Diperlukan rt.jar: Bolehkah Kod Java 1.4 Disusun pada Java 5 Tanpa Mencipta Semula Stub?
Apabila cuba menyusun Kod Java 1.4 yang dihasilkan oleh WSDL2Java IBM pada Java 5 tanpa mencipta semula stub, ralat sekatan akses mungkin berlaku dalam Eclipse. Ralat, "Sekatan akses: Jenis QName tidak boleh diakses kerana sekatan pada perpustakaan yang diperlukan rt.jar," menunjukkan bahawa akses perpustakaan yang diperlukan (rt.jar) adalah terhad.
Isu ini timbul kerana stub yang dihasilkan untuk kod Java 1.4 boleh menggunakan kelas daripada masa jalan Java 1.4, yang berbeza daripada masa jalan yang digunakan oleh Java 5. Pustaka rt.jar disertakan dengan Java 5 mungkin tidak mengandungi kelas yang diperlukan untuk kod yang dijana berjaya disusun.
Penyelesaian Alternatif untuk Mencipta Semula Stub
Terdapat penyelesaian alternatif untuk isu ini tanpa memerlukan untuk mencipta semula rintisan. Langkah-langkahnya adalah seperti berikut:
Penyelesaian ini berfungsi kerana berbilang kelas daripada berbeza fail jar mungkin terdapat dalam projek. Mengalih keluar dan menambah semula Pustaka Sistem JRE memastikan kelas yang betul diutamakan.
Memastikan Penyelesaian Asas
Untuk penyelesaian yang lebih asas, pastikan fail jar yang mengandungi kelas yang sama dikecualikan daripada projek. Ini akan menghalang konflik antara kelas daripada sumber yang berbeza, memastikan kelas yang diperlukan daripada Pustaka Sistem JRE digunakan.
Contoh:
Dalam kes di mana javax.xml .soap.SOAPPart terdapat dalam tiga fail balang (axis-saaj-1.4.jar, saaj-api-1.3.jar dan rt.jar), tidak termasuk dua fail jar pertama akan menjamin bahawa kelas SOAPPart daripada Pustaka Sistem JRE digunakan, menyelesaikan ralat sekatan akses.
Atas ialah kandungan terperinci Bolehkah Kod Java 1.4 Dikompilasi pada Java 5 Tanpa Membina Semula Stub?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!