Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menyelesaikan \"java.lang.ClassNotFoundException\" Apabila Menggunakan \"java -jar\" dengan Classpath Tambahan?

Bagaimana untuk Menyelesaikan \"java.lang.ClassNotFoundException\" Apabila Menggunakan \"java -jar\" dengan Classpath Tambahan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 00:24:301022semak imbas

How to Resolve

Menyelesaikan ClassNotFoundException Apabila Menggunakan "java -jar" dengan Classpath Tambahan

Apabila menjalankan fail JAR menggunakan "java -jar MyFile. jar" dan menentukan laluan kelas tambahan, seseorang mungkin menghadapi ralat "java.lang.ClassNotFoundException." Ralat ini menunjukkan bahawa perpustakaan yang diperlukan untuk menjalankan program tidak boleh diakses oleh persekitaran masa jalan.

Untuk menangani isu ini, adalah penting untuk memahami bahawa pilihan "-jar" melancarkan fail JAR sebagai aplikasi kendiri, bermakna ia harus mengandungi semua kebergantungan yang diperlukan secara dalaman. Menggunakan "-cp" untuk menentukan laluan kelas luaran bertujuan untuk situasi di mana fail JAR tidak lengkap.

Oleh itu, terdapat dua pendekatan yang disyorkan:

  1. Jalur Kelas Manifest (Jika JAR Terdiri Sendiri):

    • Salin perpustakaan yang diperlukan ke dalam subfolder "libs".
    • Gunakan "
    • Jalankan program menggunakan "java -jar MyProgram.jar," dan perpustakaan yang diperlukan akan dimuatkan secara automatik.
  2. Jalur Kelas Eksplisit (Jika JAR Tidak Berdikari):

    • Letakkan JAR utama dan semua kebergantungan dalam direktori yang sama.
    • Jalankan atur cara menggunakan "java -cp '.libs/' main.Main," di mana "." mewakili direktori semasa dan bintang () termasuk semua fail JAR dalam direktori "libs".

Dengan melaksanakan salah satu daripada pendekatan ini, perpustakaan tambahan akan menjadi boleh diakses kepada fail JAR semasa pelaksanaan, menyelesaikan ralat "ClassNotFoundException".

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \"java.lang.ClassNotFoundException\" Apabila Menggunakan \"java -jar\" dengan Classpath Tambahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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