Saat debugging aplikasi java di eclipse saya menerima kesalahan " Sumber tidak ditemukan " dalam dua kasus:
- Melangkah ke file di proyek lain yang sudah diimpor
- Melangkah ke sebuah file di repositori maven yang diinstal
File ada di sana, tetapi gerhana tidak akan masuk ke dalamnya, melainkan menunjukkan tombol untuk " melampirkan sumber "
Saya mencoba melampirkan (yang membuka dialog untuk mendefinisikan variabel ?!) dan gerhana memang melompat ke file, tetapi debugger tidak dapat memeriksa variabel apa pun di sana. Juga secara manual melampirkan sumber untuk setiap ketergantungan tidak praktis, seperti dalam kasus saya ada ribuan file ketergantungan.
Saya baru mengenal eclipse \ java sehingga penjelasan mengapa hal ini terjadi + cara mengatasinya akan banyak membantu!
Hanya 3 langkah untuk konfigurasi IDE Eclipse:
Edit Source Lookup Pilih perintah Edit Source Lookup ... [Edit Source Lookup] untuk membuka Dialog Jalur Sumber, yang memungkinkan Anda untuk membuat perubahan pada jalur pencarian sumber dari target debug yang dipilih.
PENTING Restart Eclipse setelah langkah terakhir ini.
sumber
Gejala-gejala menggambarkan dengan sempurna kasus ketika kelas yang ditemukan tidak memiliki sumber terkait (atau ditugaskan).
Tetapi bagaimana jika Eclipse masih menyarankan Anda melampirkan sumber, bahkan jika saya menetapkan kelas dan sumbernya dengan benar:
Ini hampir selalu berarti bahwa Eclipse menemukan kelas dari tempat yang berbeda dari yang Anda harapkan. Periksa jalur pencarian sumber Anda untuk melihat di mana ia mungkin mendapatkan kelas yang salah. Perbarui jalur sesuai dengan temuan Anda.
Eclipse tidak menemukan apa pun, ketika breakpoint terkena:
Ini terjadi, ketika Anda path pencarian sumber tidak mengandung kelas, yang saat ini dimuat di runtime. Bahkan jika kelas ada di ruang kerja, itu bisa tidak terlihat dengan konfigurasi peluncuran, karena Eclipse mengikuti jalur pencarian sumber secara ketat dan hanya menempel pada dependensi proyek, yang saat ini didebug.
Pengecualian adalah bundel debugging di PDE . Dalam hal ini, karena runtime terdiri dari beberapa proyek, yang tidak harus mendeklarasikan ketergantungan satu sama lain, Eclipse akan secara otomatis menemukan kelas di ruang kerja, bahkan jika itu tidak tersedia di jalur pencarian sumber.
Saya tidak bisa melihat variabel ketika saya menekan sebuah breakpoint atau itu hanya membuka sumber, tetapi tidak memilih baris breakpoint:
Ini berarti bahwa dalam runtime, baik JVM atau kelas sendiri tidak memiliki informasi debug yang diperlukan. Setiap kelas dikompilasi, informasi debug dapat dilampirkan. Untuk mengurangi ruang penyimpanan kelas, kadang-kadang informasi ini dihilangkan, yang membuat debug kode seperti itu menyakitkan. Satu-satunya kesempatan Anda adalah mencoba dan mengkompilasi ulang dengan debug diaktifkan.
Penampil sumber Eclipse menunjukkan baris yang berbeda dari yang sebenarnya dieksekusi:
Kadang-kadang dapat menunjukkan bahwa ruang kosong dieksekusi juga. Ini berarti bahwa sumber Anda tidak cocok dengan versi runtime kelas Anda. Bahkan jika Anda berpikir bahwa ini tidak mungkin, ya, jadi pastikan Anda menyiapkan sumber yang benar. Atau runtime Anda cocok dengan perubahan terbaru Anda, tergantung pada apa yang Anda coba lakukan.
sumber
Dari http://www.coderanch.com/t/587493/vc/Debugging-Eclipse-Source
"Ketika berjalan dalam mode debug, klik kanan pada thread yang sedang berjalan (di tab thread) dan pilih Edit Source Lookup. Pada titik ini, Anda harus dapat menambahkan proyek / tabung yang diperlukan yang berisi kode sumber Anda."
Saya menambahkan proyek saya saat ini dengan cara ini, dan itu menyelesaikan masalah saya
sumber
Saya memiliki masalah yang sama dengan proyek gerhana maven saya. Saya berjuang dengan masalah ini cukup lama kemudian saya mencoba untuk membangun kembali proyek
dan itu membantu.
Catatan: Menggunakan pendekatan ini akan membingungkan plugin m2e karena kedua pendekatan tersebut sangat berbeda. m2e menambahkan simpul virtual ke proyek Anda yang disebut "Ketergantungan Maven" dan meminta Maven untuk menambahkan semua dependensi di sana.
mvn eclipse:eclipse
, di sisi lain, akan membuat banyak entri individual dalam file.classpath
. Eclipse akan menanganinya seolah-olah Anda menambahkan JAR secara manual ke proyek Anda.Kecuali Anda tahu bagaimana classpath di Eclipse bekerja, pendekatan ini tidak disarankan.
sumber
mvn eclipse:eclipse
tambahkan ketergantungan proyek ke jalur pembangunan java, jadi itu berfungsi. Selain itu, plugin m2eclipse akan menambahkan ketergantungan proyek hanya di "Ketergantungan Maven" yang ada di tab Libraries, dan debugger tidak dapat menemukannya.Hapus Konfigurasi Debug yang ada dan buat yang baru. Itu harus menyelesaikan masalah.
sumber
Saya menghadapi masalah yang sama, saya mengikuti langkah-langkah di bawah ini.
Window=> Preferences=> Java=> Installed JREs,
Anda lihat di layar di atas
Jre1.8.0_12
dipilih.pilih JRE yang Anda gunakan dan klik Edit. Sekarang Anda akan melihat layar di bawah.
Klik pada direktori, telusuri Jdk, Seharusnya terlihat seperti layar di bawah ini.
klik ok, dan sudah selesai
sumber
java.
sepertijava.lang.String
)Saya punya masalah yang Eclipse saya tidak men-debug kode sumber proyek saya. Saya mendapatkan halaman kosong dengan "Source code node found".
Silakan klik tombol Lampirkan kode sumber. Kemudian hapus folder "default" lalu klik add dan pergi ke lokasi proyek Anda dan lampirkan. Ini berhasil untuk saya
sumber
Dalam kasus saya, bahkan setelah Mengedit pencarian sumber dan proyek Menambahkan, itu tidak berhasil. Saya mengkonfigurasi jalur Bangun proyek.
Setelah itu, saya memilih JRE System Library dan itu berhasil.
sumber
Jelas, Eclipse tidak secara otomatis tahu di mana kode sumber untuk guci dependen berada. Tidak jelas mengapa debugger tidak dapat memeriksa variabel setelah sumber dilampirkan. Salah satu kemungkinan adalah sumber yang salah / tidak kompatibel.
Dengan asumsi Anda memiliki proyek maven dan sumber-sumber dependensi diunduh dan tersedia di repositori lokal, Anda mungkin ingin menginstal m2eclipse , plugin maven eclipse dan melihat apakah itu membantu dalam mengatasi masalah Anda.
sumber
Anda mungkin memiliki kode sumber ketergantungan yang dapat diakses oleh Eclipse. Tetapi Eclipse tidak tahu kode sumber untuk kode yang dimuat secara dinamis. Misalnya melalui Maven.
Dalam kasus Maven, saya sarankan Anda menggunakan plugin run-jetty-run:
http://code.google.com/p/run-jetty-run/
Sebagai solusinya Anda juga dapat terhubung ke JVM yang sedang berjalan dengan debugger dan Anda akan melihat kode. Atau Anda dapat menggunakan plugin Dynamic Source Lookup untuk Eclipse dari sini:
https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup
Sayangnya itu tidak membantu saya karena memiliki masalah dengan jalur Windows dengan spasi.
Saya telah mengisi permintaan peningkatan pada Eclipse Bugzilla dan jika Anda menyetujui masalah ini, "Sumber tidak ditemukan" akan hilang selamanya, pilih di sini:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065
Terima kasih!
Sasa
sumber
Dalam kasus saya di "Sumber Lampirkan", saya menambahkan direktori proyek pakar lainnya di panel "Konfigurasi Sumber Lampiran". Menambahkan stoples versi terbaru dari m2 repositori din't work. Semua kelas dari proyek pakar lainnya gagal dibuka.
Di sini tes adalah proyek pakar saya yang lain yang berisi semua sumber java.
sumber
Klik -> Edit Jalur Pencarian Sumber
setelah itu
Klik -> Tambah akhirnya pilih proyek Java dan pilih jalur proyek.
Sumber: https://www.youtube.com/watch?v=IGIKPY6q1Qw
sumber
Saya memiliki masalah yang sama. Dalam kasus saya, saya telah menonaktifkan Window-Preferences-Java-Debug [Tangguhkan eksekusi dengan pengecualian yang tidak tertangkap]. Kemudian, konsol menunjukkan kesalahan yang benar: pengguna MySql saya tidak memiliki hak istimewa untuk mengakses database. Menurut topik ini.
sumber
Info: Ini adalah solusi yang memungkinkan, ketika Anda menggunakan maven (pom.xml) dengan beberapa proyek.
Jika Anda bekerja dengan maven, pastikan versi apa yang Anda ambil di dalam pom.xml yang sesuai (mis. 1.0.1-SNAPSHOT). Mungkin saja kode Anda mutakhir, tetapi dependensi pom.xml Anda masih menggunakan JAR / Snapshots lama (dengan kode lama).
Menemukan masalah:
sumber
Jika Anda menggunakan eclipse atau STS silakan instal dan Gunakan GC (GrepCode Plugin), beberapa saat Anda tidak perlu melampirkan file .zip sumber ke jalur proyek Anda sehingga GrepCode berfungsi dengan baik untuk Anda.
sumber
Saya memiliki masalah terkait sehubungan dengan debugging server Glassfish di Eclipse. Ini disebabkan oleh memuat kode sumber dari repositori yang berbeda (berubah dari SVN ke GitHub). Dalam prosesnya, kelas kompilasi yang salah digunakan oleh server Glassfish dan karenanya, sumber dan waktu berjalan akan tidak sinkron dengan break point muncul pada baris kosong.
Untuk mengatasinya, ganti nama atau hapus folder teratas direktori kelas dan Glassfish akan membuat ulang seluruh pohon direktori kelas termasuk memperbarui file kelas dengan versi yang dikompilasi dengan benar.
Direktori kelas terletak di: / workspace / glassfish3122clipsedefaultdomain / eclipseApps / <Aplikasi Web Anda> / WEB-INF / classes
sumber
Dalam kasus saya dengan proyek kucing jantan saya telah memeriksa proyek di sini: Jendela - Preferensi - Tomcat - Jalur Sumber - Tambahkan proyek java ke jalur sumber
sumber
Dalam kasus saya, versi Maven dari proyek referensi lain tidak cocok dengan versi proyek uji. Begitu mereka sama, masalahnya hilang.
sumber
Saat berjalan dalam mode debug, klik Edit Pencarian Sumber setelah ditangguhkan dari utas. Pada titik ini, kita harus dapat menambahkan proyek / toples yang diperlukan yang berisi kode sumber Anda. Setelah saya menambahkan proyek saya saat ini dengan cara ini, dan itu menyelesaikan masalah saya. Terima kasih
sumber
Jika Anda ingin melampirkan kode sumber ke JAR dengan mengunduh otomatis, coba gunakan plugin Eclipse Java Source Attacher ini
sumber
Saya punya masalah ini ketika bekerja pada kode java untuk melakukan proses pada file excel yang berisi kumpulan data, kemudian mengubahnya menjadi file .csv, saya mencoba jawaban untuk posting ini, tetapi mereka tidak berfungsi. masalahnya adalah toples itu sendiri. setelah mengunduh file jar yang dibutuhkan satu per satu (rilis yang lebih lama) dan menambahkannya ke proyek saya, kesalahan "sumber tidak ditemukan" menghilang. mungkin Anda dapat memeriksa file jar Anda. Semoga ini bisa membantu.
sumber
ini bekerja untuk saya
klik kanan pada proyek -> Properties -> Deployment Assembly -> tambahkan toples Anda
sumber
Pergi ke konfigurasi Debug di gerhana dan gunakan tujuan di bawah ini untuk menjalankan aplikasi Anda.
-Dmaven.surefire.debug
misalnya
-Dmaven.surefire.debug exec: java
sumber
Nah, inilah yang bekerja untuk saya. Saya mencoba setiap solusi yang mungkin ada di StackOverflow. Saya mencoba mengubah lokasi sumber saya di menu debug, saya menginstal plugin Eclipse m2e, saya berubah dari embedded Maven, dan saya menginstal run-jetty-run dan tidak ada yang berhasil. Sekarang, saya akan memperingatkan bahwa saya tidak mencoba untuk melihat kode sumber orang eksternal, saya hanya ingin melihat kode SENDIRI saya, tetapi setiap kali saya "melangkah" ke metode saya yang saya tulis yang ada dalam proyek SAYA, saya mendapatkan Galat "Sumber sekarang ditemukan".
Setelah akhirnya bertanya kepada pakar, masalah saya adalah bahwa hal pertama yang dilakukan Eclipse adalah memanggil ClassLoader, yang dapat Anda lihat dari tumpukan debug. Yang harus saya lakukan adalah F6 (melangkah) dan kemudian membawa saya kembali ke panggilan asli saya dan kemudian F5 (melangkah masuk). Dan ada kode saya. Huh ... perbaikan sederhana tapi satu jam terbuang sia-sia.
sumber
Untuk pemula,
Ada kemungkinan bahwa file jar adalah bagian dari proyek yang belum Anda sertakan dalam ruang kerja Eclipse.
Untuk itu, Anda perlu tahu nama proyek file jar. Katakan misalnya, abc -18.0.0-SNAPSHOT.jar, itu artinya proyek yang seharusnya Anda sertakan di ruang kerja Anda abc .
sumber
Saya memiliki masalah yang sama dengan eclipse 2019-03 (4.11.0) dan saya hanya dapat menyelesaikan ini dengan melakukan debugging melalui debugging jarak jauh daripada langsung meluncurkannya dalam mode debug.
sumber
Lampirkan sumber -> Tambah -> Arsip Eksternal -> pilih tabung -> buka -> selesai
tangkapannya adalah mencari toples sumber dan pasang toples ini.
misalnya toples berakhir dengan "-sources" Stax2-api-3.4.1-sources
sumber
Jika Anda mencoba men-debug proyek java maven Anda, dan eclipse tidak dapat menemukan sumber Anda, coba salah satu dari ini.
Coba perbarui -> dan kemudian debug
sekarang coba debugging
sumber
Dalam eclipse photon coba matikan "Window-> Preferences-> Java-> Debug-> Gunakan pencarian sumber lanjutan"
Sunting: Ada bug terkait dalam versi gerhana ini yang mengarah ke pesan "sumber tidak ditemukan" saat men-debug aplikasi Java. Lihat laporan bug bugs.eclipse.org/bugs/show_bug.cgi?id=537699 untuk rincian lebih lanjut
sumber