Menyelesaikan Sekatan Akses pada Kelas Kerana Sekatan Perpustakaan
Dalam percubaan untuk menyusun kod Java 1.4 yang dijana oleh WSDL2Java IBM menggunakan Java 5 tanpa menjana semula stub, pengguna mengalami ralat sekatan akses dalam Eclipse. Ralat ini berpunca daripada ketidakupayaan untuk mengakses jenis QName disebabkan oleh sekatan pada perpustakaan yang diperlukan rt.jar.
Untuk menyelesaikan isu ini, terdapat berbilang penyelesaian yang mungkin:
Buat semula Stub:
Satu laluan yang berpotensi adalah untuk menjana semula stub menggunakan versi terkini WSDL2Java. Walaupun pendekatan ini memastikan keserasian dengan versi Java yang digunakan, ia mungkin memperkenalkan komplikasi tambahan jika kod yang dijana berbeza dengan ketara daripada yang asal.
Menyusun Semula Laluan Kelas:
Alternatif penyelesaian yang telah terbukti berkesan ialah mengubah suai tetapan laluan binaan projek:
Proses ini menyusun semula laluan kelas, memberi keutamaan kepada kelas yang sesuai dan menyelesaikan sekatan akses isu.
Tidak Termasuk JAR Pendua:
Untuk penyelesaian yang lebih komprehensif, pastikan fail JAR pendua yang mengandungi kelas yang sama dikecualikan daripada projek. Ini menghalang konflik dan memastikan kelas yang betul digunakan.
Dalam contoh yang disediakan, isu ini diselesaikan dengan mengecualikan fail axis-saaj-1.4.jar dan saaj-api-1.3.jar, yang kedua-duanya mengandungi kelas javax.xml.soap.SOAPPart.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Sekatan Akses Java Apabila Menggunakan Kod Dijana IBM WSDL2Java dengan Java 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!