Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Menyelesaikan \'java.rmi.ServerException: RemoteException berlaku dalam utas pelayan (ClassNotFoundException)\' dalam Java RMI?

Mary-Kate Olsen
Lepaskan: 2024-11-25 00:38:10
asal
809 orang telah melayarinya

How to Solve

Menyelesaikan masalah "java.rmi.ServerException: RemoteException berlaku dalam utas pelayan (ClassNotFoundException)"

"ClassNotFoundException" ditemui semasa mencuba untuk memulakan pelayan RMI berpunca daripada salah satu daripada beberapa senario yang mungkin berkaitan dengan takrif kelas yang tiada atau tidak boleh diakses.

Punca dan Penyelesaian:

1. Mengeksport:

  • Pastikan arahan 'rmic' telah dilaksanakan untuk menjana kelas stub dan rangka yang diperlukan.
  • Jika 'rmic' tidak boleh dilaksanakan, ikut langkah alternatif digariskan dalam Javadoc untuk UnicastRemoteObject untuk menggunakannya tidak perlu.

2. Mengikat:

  • Registry harus mempunyai akses kepada kelas stub, antara muka jauh dan sebarang kebergantungan pada laluan kelasnya.
  • Mulakan Pendaftaran dengan laluan kelas yang sesuai yang merangkumi JAR atau direktori yang berkaitan.
  • Sebagai alternatif, mulakan Pendaftaran dalam pelayan JVM menggunakan LocateRegistry.createRegistry().

3. Looking Up:

  • Pelanggan juga harus mempunyai akses kepada kelas stub, antara muka jauh dan kebergantungan pada laluan kelasnya.
  • Pastikan laluan kelas pelanggan dikonfigurasikan dengan betul.

4. Memanggil Kaedah Jauh:

  • Pelayan dan klien harus mempunyai kelas yang diperlukan pada laluan kelas masing-masing, termasuk:

    • Kelas yang diluluskan sebagai hujah kepada kaedah jauh.
    • Kelas yang mewakili jenis pemulangan alat kawalan jauh kaedah.
    • Kelas yang mewakili jenis pengecualian yang dilemparkan oleh kaedah jauh.

Penyelesaian Tambahan:

  • Gunakan Dinamik Stub:

    • Seperti yang digariskan dalam Javadoc untuk UnicastRemoteObject.
    • Perhatikan bahawa kebergantungan mungkin masih perlu dipenuhi untuk antara muka jauh atau kelas lain yang berkaitan.
  • Pastikan Kelas Serasi Versi:

    • Pendaftaran RMI, pelayan dan klien harus menggunakan versi yang serasi bagi Java Development Kit (JDK) yang sama.
  • Semak Isu Pemuat Kelas:

    • Pastikan bahawa pemuat kelas yang digunakan oleh pelayan dan pelanggan boleh mengakses kelas yang diperlukan.
    • Pertimbangkan untuk menggunakan pemuat kelas tersuai untuk memuatkan kelas daripada direktori atau JAR tertentu.

Dengan memahami punca yang berpotensi dan menggunakan penyelesaian yang sesuai, anda boleh menyelesaikan isu "ClassNotFoundException" dan berjaya memulakan RMI anda pelayan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'java.rmi.ServerException: RemoteException berlaku dalam utas pelayan (ClassNotFoundException)\' dalam Java RMI?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan