Di Eclipse, apa yang dapat menyebabkan ikon kesalahan “red-x” Package Explorer ketika semua sumber Java dikompilasi tanpa kesalahan?

94

Saya menggunakan Eclipse untuk pengembangan Java. Semua sumber saya dikompilasi dengan baik dan aplikasi yang dihasilkan dikompilasi dengan baik. Namun, saya terus mendapatkan pemberitahuan kesalahan "merah-x" di Penjelajah Paket.

Semua sumber saya di direktori sumber ini (terlalu panjang untuk snapshot) dikompilasi dengan baik, tidak ada yang menampilkan ikon kesalahan "merah-x".

Ada saran tentang cara memperbaiki masalah akan sangat dihargai.

Alfred B. Thordarson
sumber

Jawaban:

167

ya, ini kadang-kadang terjadi tanpa alasan yang jelas. Anda dapat pergi ke "Masalah" -Tab (tepat di sebelah output konsol) dan melihat pesan kesalahan, jadi mungkin Anda bisa mempersempitnya seperti itu.

Jan Gressmann
sumber
6
Saya secara khusus mendapatkannya ketika komponen non-Java lain gagal validasi (contoh yang baik adalah file XML, seperti spring's atau maven's).
Spencer Kormos
2
jika Anda dapat melihat masalah apa pun dalam tampilan masalah, itulah alasan yang jelas. Saya belum melihat kesalahan apa pun tanpa alasan yang jelas :)
nanda
Menambah jawaban jan-gressman. Terkadang ketika Anda melihat di tab "Masalah", Anda akan menemukan masalahnya adalah file tambahan dengan garis bawah di beberapa folder misalnya __duplicatefile.java. Untuk mengatasinya, klik kanan pada proyek dan pilih: Show In> Navigator. Kemudian hapus file duplikat dengan garis bawah dan buat proyek Anda.
GraSim
3
Saya mengalami ini juga - sering. Bagi saya itu tergantung pada perubahan manual pada file POM saya saat menggunakan Eclipse & Maven dan baris perintah (mvn) secara bergantian. Untuk memperbaiki: gunakan tab Masalah untuk mendiagnosis seperti yang dinyatakan di atas, dan jika POM yang tidak sinkron, Anda dapat "Perbarui Proyek" dengan Maven di Eclipse: "Klik kanan" pada proyek di Package Explorer, Pilih "Maven ", Pilih" Perbarui Proyek ". Pastikan "Perbarui konfigurasi proyek dari pom.xml", "Segarkan ruang kerja ...", dan "Bersihkan proyek" dipilih.
Zack Jannsen
Saran yang bagus untuk melihat Masalah. Proyek saya perlu diperbarui.
Downeyt
16

Ini sering terjadi ketika saya menggunakan Maven, dan saya selalu mengabaikannya sampai saya menemukan pertanyaan ini. Anda perlu memperbarui proyek dalam kasus ini (mencari tahu dengan melihat di panel Masalah)

Dari menu konteks proyek: Maven -> Perbarui Proyek dan pilih basis kode maven yang tersedia

Atau Anda dapat menggunakan (Alt + F5) untuk membuka jendela yang sama

Patrick Schaefer
sumber
1
Bahkan ketika saya mencapai proyek pembaruan, itu tidak menyelesaikan masalah untuk saya. Di tab masalah, saya mendapatkan 100 kesalahan yang menunjukkan tidak terdefinisi / tidak diinisialisasi / tidak dapat diselesaikan menjadi suatu jenis ... Ada pemikiran bagaimana cara menyingkirkan ini dengan cepat
Eswar
11

Cobalah untuk membersihkan proyek dan membangunnya kembali.

flash
sumber
6

Setelah membangun. Refresh project dan jika masih berlanjut klik kanan tab Problems di eclipse dan pilih delete all.

Ini sering terjadi jika Anda menginstal maven dan file properti eclipse tidak diperbarui dengan benar. Meskipun proyek Anda tidak memiliki kesalahan apa pun. Semoga!

AaMng
sumber
Klik kanan di area tab Masalah dan pilih "Hapus" - itulah yang perlu saya dengar!
Gabriel Staples
5

Saya ingin memulai dengan berterima kasih kepada semua orang yang menjawab. Tetapi pembersihan dan pembangunan kembali tidak cukup dalam kasus saya karena masalahnya masih ada dan perlu diperbaiki.

Ternyata salah satu direktori paket saya tidak sengaja disalin sehingga sekarang ada direktori tambahan bernama "Salinan dagskra" yang berisi file Java dengan deklarasi paket yang salah. Selain itu, kesalahan dalam direktori "baru" ini tidak muncul dengan "merah-x" dalam paket yang ada di dalamnya:

Cuplikan dari Penjelajah Paket menunjukkan direktori "Salinan dagskra" yang salah di http://www.freeimagehosting.net/uploads/a824304b18.png

Itu adalah petunjuk membaca tab "Masalah" :-) yang mengubah saya ke arah yang benar, jadi saya memilih jawaban itu sebagai jawaban yang diterima karena inilah yang saya butuhkan:

Potret dari tab Masalah http://www.freeimagehosting.net/uploads/dea26d5dd0.png

Berharap ini akan membantu orang lain ...

Alfred B. Thordarson
sumber
2

Jadi setelah menemukan bahwa mungkin ada paket yang hilang di buildpath, maka x merah terhadap proyek utama, untuk menghapus ini:

1) masuk ke "Configure Buildpath" proyek 2) Java Build Path -> Source Tab - Anda akan melihat tanda x merah pada paket / file yang hilang. jika tidak ada lagi, cukup "hapus".

merah X pergi! :)


sumber
1

Terkadang ada kesalahan jalur pembuatan dalam .project, dan Anda perlu beralih ke tampilan Sumber daya untuk benar-benar melihat file yang menyebabkan kesalahan.

JeeBee
sumber
1

Saya memiliki masalah yang sama dan langkah-langkah di bawah ini menyelesaikan masalah:

  1. Hapus JRE dari PROJECT> properties> java build path> libraries.

  2. Mulai ulang gerhana

  3. Tambahkan JRE lagi

  4. Buat ulang proyek menggunakan Project> Bersihkan dan pilih opsi untuk membangun secara otomatis.

Silakan coba.

matahari2
sumber
Pertanyaan ini hampir berumur empat tahun, sudah dijawab, dan ini adalah duplikat jawaban. Harap hanya posting informasi baru jika itu mungkin membantu penulis pertanyaan.
Sam
Maaf untuk kebingungan, bagaimanapun cara saya melihatnya, saya telah mencoba memposting jawaban baru, bukan duplikat.
Ming2
Saya di sini dengan masalah yang sama pada 01/28/18. tetaplah baik untuk memberikan jawaban terlepas dari berapa umur pertanyaannya.
Tadele Ayelegn
1

Subversi terkadang menjadi penyebabnya juga. Ini mungkin tidak ada hubungannya dengan lingkungan Anda. Namun, mungkin ada perbedaan antara status lokal proyek saat ini. Dalam kasus saya, melakukan pembaruan, dan kemudian komit ke server subversi memberi saya hasil bersih yang diharapkan tanpa tanda apa pun dalam proyek seperti X.

Jay Snayder
sumber
Saya melihat bahwa plugin SVN untuk gerhana tidak terlalu stabil. Saya terus mengalami masalah dengan mereka. Saya menyalahkan mereka (tidak tahu apa-apa, hanya firasat). Apa yang Anda usulkan berhasil untuk saya +1.
Pantelis Natsiavas
0

Coba lakukan rekondisi. Saya telah menemukan bahwa tanda x merah tidak selalu hilang sampai pembangunan kembali selesai.

mdec
sumber
0

Saya sering mengalami masalah serupa, yang biasanya terjadi pada saya adalah bahwa file java akan mengatakan itu tidak dapat dikompilasi di editor teks tetapi di penjelajah paket itu akan mengatakan itu dikompilasi dengan baik.

Kadang-kadang melakukan 'membangun kembali' atau 'membersihkan-bangun' tidak berhasil, file tidak benar-benar dibangun (orang harus menganggap bahwa gerhana menganggap file yang dimilikinya adalah yang terbaru) dan ketika ini terjadi saya biasanya membuka membangun jalur java dan hanya memindahkan salah satu dependensi saya ke bawah / atas urutan kekuasaan. Ini memaksa gerhana untuk membangun kembali segalanya dan tampaknya selalu berhasil.

Jika Anda masih mengalami masalah, coba salin proyek tersebut dan lihat apakah Anda mendapatkan perilaku yang sama dan pada upaya terakhir memposting bug untuk gerhana, mungkin perlu beberapa saat untuk memperbaikinya tetapi setidaknya Anda tahu bahwa Anda sedang dengar.

Henry B
sumber
0

Untuk menambah jawaban sebelumnya, cara ekstrim untuk "membersihkan" proyek Anda adalah dengan menghapusnya (yaitu menghapus referensinya dari ruang kerja, bukan menghapus file yang sebenarnya), dan kemudian mengimpornya kembali.
Terkadang, itu membantu ...

VonC
sumber
0

Seperti yang dikatakan orang lain, referensi file yang buruk di jalur build sering menjadi penyebabnya.

Biasanya file .jar yang sudah dipindahkan / dihapus. Eclipse mengharapkan untuk menemukan semua yang direferensikan pada jalur build di lokasi yang ditentukan, dan akan mengajukan keluhan jika tidak.

madlep
sumber
0

FindBugs juga memberi tanda x merah pada file / paket untuk menunjukkan kesalahan analisis kode statis.

Rahul
sumber
0

Saya telah melalui ini. Kasus saya lebih terlibat. Proyek ini dikemas dengan baik dari baris perintah maven.

Beberapa hal yang saya buat. 1. Satu kelas memiliki banyak impor yang membingungkan gerhana. Membersihkannya memperbaiki sebagian dari masalah 2. Satu kasus tentang Setter, menekan F3 menavigasi ke Setter itu meskipun gerhana mengeluh tidak ada. Jadi saya hanya mengetik ulang dan berfungsi dengan baik (bahkan untuk semua Setter lainnya)

Saya masih berjuang dengan Item konstruktor super implisit () tidak ditentukan untuk konstruktor default. Harus mendefinisikan konstruktor eksplisit "


sumber
0

Saya juga mengalami simbol kesalahan misterius pada paket dari waktu ke waktu. Cara untuk menyingkirkannya yang berhasil bagi saya adalah dengan secara efektif menghapus JRE System Library dari Java Build Path dan menambahkannya kembali.

greiball
sumber
penanya menanyakan penyebabnya, Anda memberikan solusi
johannes
0

Solusi saya yang akhirnya berhasil adalah membersihkan semua project, menutup eclipse, membersihkan semua project, menutup eclipse, dan sebagainya minimal 5-6 kali. Akhirnya semuanya tenang dan semuanya seperti yang diharapkan. Hal teraneh yang pernah ada !!

Dan tidak ada kesalahan dalam tampilan Masalah atau konsol.

Juga ini terjadi setelah komputer mogok. Terakhir kali itu terjadi, seluruh ruang kerja saya benar-benar hilang. Itu masih ada di komputer, tetapi ketika saya mencoba mengaksesnya, semuanya akan kosong.

Untuk alasan apa pun kerusakan komputer benar-benar ditangani dengan sangat buruk oleh gerhana.

Stephane Grenier
sumber
0

Selain itu, Anda dapat memperbarui proyek dengan mengklik,

Klik kanan pada nama proyek -> Pilih Maven -> Klik kanan -> Perbarui Proyek.

Ini membantu saya.

Terima kasih.

abhijitcaps
sumber
0

Ini bisa terjadi karena sejumlah alasan. Jika Anda telah mengubah jdk, facet Proyek akan memiliki X merah di sebelahnya sementara tidak ada folder lain yang menunjukkan kesalahan. Jika demikian, ubah jdk yang ditampilkan. Ini terjadi pada kesempatan di kelas JAX-WS kami ( HSG

Andreas
sumber
0

Saya menyelesaikan milik saya dengan

  • Tutup semua proyek lain (yaitu opsi proyek yang tidak terkait)

  • Bersihkan dan bangun

Proyek saya adalah android, dan berhasil.

Katedral Pillon
sumber
0

Ini terjadi ketika saya mengunduh fabric.io di Eclipse Mars tetapi Memulai ulang komputer memecahkan masalah ini untuk saya.

Sheraz Ahmad Khilji
sumber
0

Dalam kasus saya, yang memecahkan masalah ini hanyalah dengan Menutup Eclipse dan membukanya lagi ... Namun saya masih tidak yakin mengapa ini terjadi atau mengapa itu berhasil. Saya mengalami masalah saat Membersihkan proyek saya (dikatakan tidak dapat Menghapus file tertentu) dan ini menyelesaikannya :):

DarkCygnus
sumber
0

saya punya masalah yang sama. Saya memeriksa "Masalah" -Tab dan tidak menemukan server untuk proyek tersebut. Saya mendefinisikan server. tanda merah-x hilang

Hao
sumber
0

Anda dapat pergi ke project-> Buildpath-> Library

Jika ada pustaka yang bertanda X yaitu [bertanda silang] hilangkan dan coba lagi untuk membangun. Itu berhasil untuk saya juga /

Anjali
sumber
0

Saya mengalami masalah ini hari ini dan menemukan tautan ini. Saya mengikuti seperti yang disebutkan oleh Patrick Schaefer di atas dan membuka Dialog proyek Perbarui Maven. Klik pada proyek kerja saya dan pilih kotak centang "Paksa Pembaruan Snapshots / Rilis" dan 'Ok'. Semua palang merah lenyap. Saya harap ini membantu siapa pun yang mengalami situasi serupa.

eshu
sumber
-2

Klik kanan pada proyek dengan kesalahan, lalu di sub-menu pilih: Maven > UpdateProject >

lalu:

  • Pilih kotak centang untuk semua proyek dependen
  • pilih pembaruan paksa dari snapshot
  • klik OK.

Ini berhasil untuk saya ..

icedMeteor
sumber