de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 user2426316
user2426316
Question

Bagaimana cara mengatasi ClassNotFoundException?

Saya mencoba untuk menjalankan aplikasi Java, tapi mendapatkan pesan kesalahan ini:

jawa.lang.ClassNotFoundException:

Setelah kolon datang lokasi kelas yang hilang. Namun, saya tahu bahwa lokasi itu tidak ada karena hotel ini terletak di tempat lain. Bagaimana saya dapat memperbarui jalan dari kelas itu? Apakah itu memiliki sesuatu untuk dilakukan dengan kelas jalan?

89 2013-07-01T15:58:58+00:00 18
 vaxquis
vaxquis
Pertanyaan edit 5 Juni 2017 в 2:20
Pemrograman
class
java
classpath
classnotfoundexception
 user2000590
user2000590
1 Juli 2013 в 4:20
2013-07-01T16:20:52+00:00
Lebih
Sumber
Sunting
#19800591

Sebuah classpath adalah daftar lokasi untuk memuat kelas-kelas dari.

Ini 'lokasi' bisa berupa direktori, atau file jar.

Untuk direktori, JVM akan mengikuti sebuah pola untuk memuat sebuah kelas. Jika saya memiliki direktori C:/myproject/classes dalam classpath, dan saya mencoba untuk memuat kelas com.mycompany.Foo, itu akan terlihat di bawah kelas direktori direktori bernama com, kemudian di bawah direktori yang disebut mycompany, dan akhirnya ia akan mencari file bernama Foo.class dalam direktori tersebut.

Dalam contoh kedua, untuk file jar, itu akan mencari file jar untuk kelas itu. File jar ini pada kenyataannya hanya zip koleksi dari direktori seperti di atas. Jika anda unzip file jar, kamu'll mendapatkan banyak direktori dan file kelas mengikuti pola di atas.

Jadi JVM melintasi classpath dari awal sampai akhir untuk mencari definisi dari kelas ketika mencoba untuk memuat definisi kelas. Misalnya, dalam classpath :

C:/myproject/classes;C:/myproject/lib/stuff.jar;C:/myproject/lib/otherstuff.jar

JVM akan mencoba untuk melihat di direktori kelas pertama, kemudian di stuff.jar dan akhirnya di otherstuff.jar.

Ketika anda mendapatkan ClassNotFoundException, itu berarti JVM telah dilalui seluruh classpath dan tidak menemukan kelas anda've berusaha untuk referensi. Solusinya, seperti yang sering di Jawa dunia, adalah untuk memeriksa classpath anda.

Anda menentukan classpath pada baris perintah dengan mengatakan java -cp dan kemudian anda classpath. Dalam sebuah IDE seperti Eclipse, anda'll memiliki menu pilihan untuk menentukan classpath anda.

44
0
Solution / Answer
Thorbjørn  Ravn Andersen
Thorbjørn Ravn Andersen
1 Juli 2013 в 4:02
2013-07-01T16:02:10+00:00
Lebih
Sumber
Sunting
#19800565

Classpath anda rusak (yang merupakan very masalah umum di Jawa dunia).

Tergantung pada bagaimana anda memulai aplikasi anda, anda perlu untuk merevisi argumen -cp, Kelas-Jalan masuk di MANIFEST.MF atau tata letak disk anda.

28
0
Ram Patra
Ram Patra
5 Oktober 2015 в 6:44
2015-10-05T06:44:45+00:00
Lebih
Sumber
Sunting
#19800629

Ini adalah solusi saya temukan sejauh ini.

Misalkan kita memiliki sebuah paket yang disebut org.mypackage yang berisi kelas-kelas:

  • HelloWorld (kelas utama)
  • SupportClass
  • UtilClass

dan file yang mendefinisikan paket ini disimpan secara fisik di dalam direktori D:\myprogram (pada Windows) atau /home/user/myprogram (di Linux).

Struktur file akan terlihat seperti ini:

Ketika kita memohon Jawa, kita tentukan nama aplikasi untuk menjalankan: org.mypackage.HelloWorld. Namun kita juga harus memberitahu Jawa di mana untuk mencari file dan direktori mendefinisikan paket kami. Jadi untuk memulai program, kita harus menggunakan perintah berikut:

CATATAN: Anda harus menjalankan di atas jawa perintah tidak peduli apa lokasi anda saat ini. Tapi ini tidak terjadi untuk javac. Untuk menyusun, anda bahkan dapat langsung pergi ke direktori dimana anda telah anda .jawa file dan langsung mengeksekusi javac ClassName.java.

Ram Patra
Ram Patra
Jawaban edit 5 Oktober 2015 в 6:51
12
0
Juned Ahsan
Juned Ahsan
1 Juli 2013 в 4:00
2013-07-01T16:00:15+00:00
Lebih
Sumber
Sunting
#19800562

Jika anda tahu jalan kelas atau toples yang berisi kelas kemudian menambahkannya ke classpath anda saat menjalankan itu. Anda dapat menggunakan classpath seperti yang disebutkan berikut ini:

pada Windows

java -classpath .;yourjar.jar YourMainClass

pada UNIX/Linux

java -classpath .:yourjar.jar YourMainClass
6
0
 Arun
Arun
22 April 2015 в 7:48
2015-04-22T19:48:34+00:00
Lebih
Sumber
Sunting
#19800622

Coba ini jika anda menggunakan maven. Saya menggunakan maven untuk proyek saya dan ketika saya melakukan mvn clean install dan mencoba untuk menjalankan program itu melempar pengecualian. Jadi, saya bersih proyek dan jalankan lagi dan itu bekerja untuk saya.

Saya menggunakan eclipse IDE.

Untuk Kelas Tidak Ditemukan Terkecuali ketika menjalankan Junit test, coba jalankan mvn clean test sekali. Ini akan mengkompilasi semua tes kelas.

 Arun
Arun
Jawaban edit 5 September 2018 в 6:29
4
0
Annonnymous Person
Annonnymous Person
4 Desember 2015 в 9:05
2015-12-04T09:05:35+00:00
Lebih
Sumber
Sunting
#19800632

Tambahkan path lengkap dari file jar ke CLASSPATH. Di linux menggunakan: export CLASSPATH=".:/full/path/to/file.jar:$CLASSPATH". Cara lain yang bekerja (tanpa editing CLASSPATH) adalah unzip jar di saat folder proyek.

Cara didn't bekerja untuk saya:

  1. Menggunakan -cp pilihan dengan path lengkap dari file jar.

  2. Menggunakan `-cp'with hanya nama jar bila terletak dalam folder saat ini

  3. Menyalin jar untuk saat ini proyek folder

  4. Menyalin jar untuk standar lokasi jawa botol (/usr/share/java)

Solusi ini dilaporkan untuk kelas com.mysql.jdbc.Driver di mysql-connector-java.5-*.jar, bekerja di linux dengan OpenJDK versi 1.7

Annonnymous Person
Annonnymous Person
Jawaban edit 4 Desember 2015 в 9:10
3
0
 invictvs1
invictvs1
1 Juli 2013 в 4:05
2013-07-01T16:05:26+00:00
Lebih
Sumber
Sunting
#19800589

Untuk menambahkan lokasi dari hotel ke classpath anda melalui baris perintah hanya menambahkan -cp atau -classpath dan lokasi kelas sambil berjalan itu. I. E.

java -cp "c:/location/of/file" YourProgram

Atau jika anda're menjalankan IDE seperti eclipse anda dapat klik kanan pada proyek -> membangun jalan -> configure build path dan add external JAR yang berisi kelas anda untuk membangun jalan maka harus bekerja dengan baik.

Imane Fateh
Imane Fateh
Jawaban edit 1 Juli 2013 в 4:23
3
0
Kiran  S Kulkarni
Kiran S Kulkarni
19 Januari 2015 в 8:33
2015-01-19T08:33:42+00:00
Lebih
Sumber
Sunting
#19800603

Gunakan ';' sebagai pemisah. Jika variabel lingkungan anda diatur dengan benar, anda akan melihat pengaturan anda. Jika anda PATH dan CLASSPATH adalah benar, windows harus mengenali perintah-perintah tersebut. Anda TIDAK perlu me-restart komputer anda ketika menginstal Java.

3
0
Jason Robertson
Jason Robertson
13 Januari 2014 в 3:35
2014-01-13T15:35:57+00:00
Lebih
Sumber
Sunting
#19800593

Aku berlari ke sumur dan mencoba semua solusi lainnya. Saya tidak punya .kelas file di folder HTML, saya hanya punya .file java. Setelah saya menambahkan .file kelas program bekerja dengan baik.

2
0
Omar  Faroque Anik
Omar Faroque Anik
10 Februari 2014 в 10:05
2014-02-10T22:05:14+00:00
Lebih
Sumber
Sunting
#19800597
  1. Hal itu bisa terjadi jika anda classpath adalah tidak benar

  2. Mari kita mengandaikan sebuah serializable kelas dan deserializable kelas bawah yang sama projectname. Anda menjalankan serializable kelas, menciptakan serializable objek dalam folder tertentu. Sekarang anda perlu desearialized data. Sementara itu, jika anda mengubah nama proyek ini tidak akan bekerja. Anda harus menjalankan serializable kelas pertama dan kemudian secara file.

Nathaniel Ford
Nathaniel Ford
Jawaban edit 10 Februari 2014 в 10:24
2
0
 yams
yams
1 Juli 2013 в 4:04
2013-07-01T16:04:57+00:00
Lebih
Sumber
Sunting
#19800586

Naik ke atas dan menghapus impor pernyataan jika ada satu, dan kembali mengimpor kelas. Tapi jika isn't kasus melakukan bersih kemudian membangun. Apakah anda menggunakan Netbeans atau Eclipse?

2
0
 ibrahimgunes
ibrahimgunes
11 Januari 2017 в 8:16
2017-01-11T08:16:31+00:00
Lebih
Sumber
Sunting
#19800637

Jika anda menggunakan maven cobalah untuk maven update semua proyek dan memaksa untuk foto-foto. Ini akan membersihkan dan membangun kembali semua classpath.. Ini memecahkan masalah saya..

2
0
Jyoti JK
Jyoti JK
19 Februari 2018 в 11:27
2018-02-19T11:27:51+00:00
Lebih
Sumber
Sunting
#19800646

Aku hanya melakukan

1.Membatalkan cache dan restart

2.Dibangun proyek saya yang memecahkan masalah

2
0
Dani Aya
Dani Aya
14 Februari 2018 в 1:24
2018-02-14T13:24:33+00:00
Lebih
Sumber
Sunting
#19800641

Saya mencoba untuk menjalankan .jar dari kode C# menggunakan Proses kelas. Kode java berhasil berlari dari eclipse tapi itu doesn't dari C# visual studio dan bahkan mengklik langsung pada file jar, selalu berhenti dengan ClassNotFoundException: pengecualian. Solusi untuk saya, adalah ekspor program java sebagai "Runnable JAR file" bukan "File JAR". Berharap dapat membantu seseorang.

1
0
 s5s
s5s
3 April 2018 в 2:03
2018-04-03T14:03:56+00:00
Lebih
Sumber
Sunting
#19800649

Ini bisa terjadi pada Windows setelah update java mana versi lama java SDK yang hilang dan yang baru hadir. Saya akan cek jika IDE anda adalah dengan menggunakan instal java SDK versi (IntelliJ: CTRL + SHIFT + ALT + S)

1
0
Parth Patel
Parth Patel
22 September 2018 в 9:41
2018-09-22T09:41:28+00:00
Lebih
Sumber
Sunting
#19800653

Jika anda telah menambahkan beberapa (Pihak Ketiga)perpustakaan dan Memperpanjang * Aplikasi** kelas

Maka mungkin terjadi.

Untuk itu, anda harus mengatur multiDexEnabled benar dan mengganti extended Aplikasi kelas MultiDexApplication.

Itu akan diselesaikan.

1
0
 Vasil
Vasil
13 Februari 2019 в 6:43
2019-02-13T18:43:30+00:00
Lebih
Sumber
Sunting
#19800656

Dasar Pertanyaan Generik - Sederhana Generik Menjawab ;)

Mengingat informasi yang saya akan membuat asumsi bahwa anda mungkin mencoba pendekatan dasar untuk coding, bangunan/kompilasi dan menjalankan sederhana konsol aplikasi seperti "Hello World", menggunakan beberapa editor teks sederhana dan beberapa Perintah Shell.

Kesalahan ini terjadi di fallowing skenario:

..\Somepath>javac HelloWorld.java
..\Somepath>java HelloWorld.class

Dengan kata lain, gunakan:

..\Somepath>java HelloWorld

P. S. menambahkan ekstensi file .kelas menghasilkan kesalahan yang sama. Juga pastikan untuk memiliki Java's (JDK/JRE) bin folder di sistem operasi's Variabel Lingkungan's JALAN.(Lookup untuk lebih detail lain posting ini) P. P. S aku benar dalam asumsi saya/s?

0
0
 sharukh
sharukh
23 Februari 2015 в 3:53
2015-02-23T15:53:21+00:00
Lebih
Sumber
Sunting
#19800611

Masukkan semua kode di coba blok kemudian menangkap pengecualian dalam menangkap blok

try
{
    // code
}
catch(ClassNotFoundException e1)
{
    e1.getmessage();
}
C. Leung
C. Leung
Jawaban edit 24 Februari 2015 в 1:48
-4
0
Related communities 3
Programmer JAVA indonesia
Programmer JAVA indonesia
1 201 pengguna
Buka telegram
jvmusergroup
jvmusergroup
279 pengguna
Bismillahirrohmanirohim. Perhatian! Grup ini merupakan ekspansi dari grup Forum Java Programmer Indonesia di Facebook. Silahkan berbagi pengalaman dan masalah seputar Java dan keluarganya. https://t.me/JVMIndonesia Admin : @hendisantika34
Buka telegram
Java Indonesia🇲🇨
Java Indonesia🇲🇨
144 pengguna
Programmer Java Indonesia. Grup ini digunakan untuk bertanya terkait materi belajar Java / fullstack Warning=> -dilarang promosi(izin adm -18+🔞 - berbicara sopan - no spam /boot Mohon ikut aturan grup belum di keluarkan
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Roxana Elizabeth CASTILLO Avalos
Terdaftar 1 hari yang lalu
2
Hideo Nakagawa
Terdaftar 2 hari yang lalu
3
Sergiy Tytarenko
Terdaftar 3 hari yang lalu
4
shoxrux azadov
Terdaftar 6 hari yang lalu
5
Koreets Koreytsev
Terdaftar 1 minggu yang lalu
DE
EL
ES
FR
ID
IT
JA
KO
LV
NL
PT
RU
TR
ZH
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi