In Eclipse, cosa può causare l'icona di errore "x-rossa" di Package Explorer quando tutte le sorgenti Java vengono compilate senza errori?


94

Sto usando Eclipse per lo sviluppo Java. Tutti i miei sorgenti si compilano bene e l'applicazione risultante si compila bene. Tuttavia, continuo a ricevere una notifica di errore "x rossa" in Package Explorer.

Tutti i miei sorgenti in questa directory dei sorgenti (troppo lunghi per l'istantanea) si compilano bene, nessuno mostra l'icona di errore "x rossa".

Qualsiasi suggerimento su come risolvere il problema sarebbe molto apprezzato.

Risposte:


167

sì, questo accade a volte senza una ragione apparente. Puoi andare alla scheda "Problemi" (proprio accanto all'output della console) e vedere il messaggio di errore, quindi forse puoi restringere il campo in questo modo.


6
Lo capisco specificamente quando un altro componente non Java non riesce a convalidare (un buon esempio potrebbe essere un file XML, come spring's o maven's).
Spencer Kormos

2
se riesci a vedere un problema nella visualizzazione dei problemi, questo è il motivo apparente. Non ho ancora visto alcun errore senza motivo apparente :)
nanda

In aggiunta alla risposta di jan-gressman. A volte, quando guardi nella scheda "Problemi", troverai che il problema sono file extra con un trattino basso in alcune cartelle, ad esempio __duplicatefile.java. Per risolvere questo problema, fare clic con il pulsante destro del mouse sul progetto e selezionare: Mostra in> Navigatore. Quindi elimina i file duplicati con trattino basso e crea il tuo progetto.
GraSim

3
Mi imbatto anche in questo, spesso. Per me si tratta di modifiche manuali al mio file POM quando utilizzo Eclipse & Maven e la riga di comando (mvn) in modo intercambiabile. Per risolvere: utilizzare la scheda Problemi per diagnosticare come indicato sopra e, se è il POM che non è sincronizzato, è possibile "Aggiorna progetto" con Maven in Eclipse: "Fare clic con il pulsante destro del mouse" sul progetto in Esplora pacchetti, selezionare "Maven ", Seleziona" Aggiorna progetto ". Assicurati che "Aggiorna configurazione progetto da pom.xml", "Aggiorna spazio di lavoro ..." e "Pulisci progetti" siano selezionati.
Zack Jannsen

Un buon consiglio per esaminare i problemi. Il mio progetto doveva essere aggiornato.
Downeyt

16

Questo accade spesso quando uso Maven e l'avevo sempre ignorato finché non ho trovato questa domanda. È necessario aggiornare il progetto in questo caso (capito guardando nel pannello Problemi)

Dal menu contestuale del progetto: Maven -> Aggiorna progetto e seleziona le basi di codice Maven disponibili

In alternativa puoi usare (Alt + F5) per far apparire la stessa finestra


1
Anche quando ho raggiunto il progetto di aggiornamento, non risolve il problema per me. Nella scheda problemi, ottengo 100 errori che mostrano non definito / non inizializzato / non può essere risolto in un tipo ... Qualche idea su come sbarazzarsi di questo vero veloce
Eswar


6

Dopo build. Aggiorna il progetto e, se persiste, fai clic con il pulsante destro del mouse sulla scheda Problemi in eclipse e scegli Elimina tutto.

Succede spesso se si installa maven e i file delle proprietà di eclipse non vengono aggiornati correttamente. Anche se il tuo progetto non ha errori. Fiduciosamente!


Fai clic con il pulsante destro del mouse nell'area della scheda Problemi e scegli "Elimina": è quello che avevo bisogno di sentire!
Gabriel Staples

5

Voglio iniziare ringraziando tutti coloro che hanno risposto. Ma la pulizia e la ricostruzione non erano sufficienti nel mio caso perché il problema era ancora lì e doveva essere risolto.

È venuto fuori che una delle directory dei miei pacchetti era stata copiata accidentalmente in modo che ora esisteva una directory aggiuntiva chiamata "Copia di dagskra" contenente file Java con dichiarazioni di pacchetto errate. Inoltre gli errori in questa "nuova" directory non vengono visualizzati con una "x rossa" nel pacchetto in cui esiste:

Snapshot da Package Explorer che mostra un errore "Copia di dagskra" directoryr http://www.freeimagehosting.net/uploads/a824304b18.png

È stato il suggerimento di leggere la scheda "Problemi" :-) che mi ha portato nella giusta direzione, quindi sto selezionando quella risposta come risposta accettata perché questo è ciò di cui avevo bisogno:

Istantanea dalla scheda Problemi http://www.freeimagehosting.net/uploads/dea26d5dd0.png

Sperando che questo possa aiutare gli altri ...


2

Quindi, dopo aver scoperto che potrebbe esserci un pacchetto mancante nel buildpath, quindi la x rossa contro il progetto principale, per rimuovere questo:

1) vai in "Configure Buildpath" del progetto 2) Java Build Path -> Source Tab - dovresti vedere la x rossa accanto al pacchetto / file mancante. se non esiste più, basta "rimuoverlo".

X rossa vattene! :)


1

A volte ci sono errori del percorso di compilazione in .project ed è necessario passare alla visualizzazione delle risorse per vedere effettivamente il file che causa l'errore.


1

Ho avuto lo stesso problema e i passaggi seguenti hanno risolto il problema:

  1. Elimina il JRE da PROJECT> proprietà> java build path> librerie.

  2. Riavvia l'eclissi

  3. Aggiungi di nuovo JRE

  4. Ricostruisci il progetto usando Progetto> Pulisci e scegli l'opzione per costruire automaticamente.

Vi preghiamo di provare.


Questa domanda ha quasi quattro anni, è già stata data una risposta e questo è un duplicato della risposta. Pubblica solo nuove informazioni se è probabile che aiuti l'autore della domanda.
Sam

Scusa per la confusione, comunque per come la vedo io ho provato a postare una nuova risposta non duplicata.
domenica 2

Sono qui con lo stesso problema il 28/01/18. è comunque utile fornire risposte indipendentemente dall'età della domanda.
Tadele Ayelegn

1

La sovversione è occasionalmente anche la colpevole di questo. Potrebbe non avere nulla a che fare con il tuo ambiente. Tuttavia, potrebbe esserci una discrepanza tra lo stato attuale e locale del progetto. Nel mio caso, eseguire un aggiornamento e quindi un commit sul server subversion mi ha fornito il risultato pulito previsto senza alcun flag nel progetto come X.


Vedo che i plugin SVN per eclipse non sono molto stabili. Continuo ad avere problemi con loro. Do la colpa a loro (non ho idea, solo un presentimento). Quello che hai proposto ha funzionato per me +1.
Pantelis Natsiavas,

0

Prova a fare una ricostruzione. Ho scoperto che le x rosse non scompaiono sempre fino a quando non viene completata una ricostruzione.


0

Mi sono imbattuto in un problema simile molte volte, quello che succede di solito per me è che un file java dirà che non verrà compilato nell'editor di testo ma nell'esploratore di pacchetti dirà che si sta compilando bene.

A volte fare un 'rebuild' o 'clean-build' non funziona, i file non vengono effettivamente compilati (si deve presumere che eclipse pensi che i file che ha sono aggiornati) e quando questo accade di solito apro il percorso di compilazione java e sposta semplicemente una delle mie dipendenze verso il basso / verso l'alto nella gerarchia. Questo costringe Eclipse a ricostruire tutto e sembra funzionare sempre.

Se hai ancora problemi, prova a copiare il progetto e vedi se ottieni lo stesso comportamento e all'ultimo tentativo di pubblicare un bug per l'eclissi, potrebbe volerci un po 'per risolverlo ma almeno sai che stai sentito.


0

Per aggiungere alla risposta precedente, un modo estremo di "pulire" il tuo progetto è eliminarlo (ovvero eliminare il suo riferimento dallo spazio di lavoro, non eliminare i file effettivi) e quindi reimportarlo.
A volte aiuta ...


0

Come altri hanno già detto, i riferimenti a file errati nel percorso di compilazione sono spesso il colpevole.

Di solito un file .jar che è stato spostato / eliminato. Eclipse si aspetta di trovare tutto ciò a cui si fa riferimento nel percorso di compilazione nella posizione specificata e in caso contrario si lamenterà.


0

FindBugs mette anche una x rossa su file / pacchetti per indicare errori di analisi del codice statico.


0

L'ho affrontato. Il mio caso era più coinvolto. Il progetto è stato confezionato bene dalla riga di comando di Maven.

Un paio di cose che ho fatto. 1. Una classe ha molte importazioni che hanno confuso eclipse. Pulirli ha risolto una parte del problema 2. Un caso riguardava un Setter, premendo F3 che navigava verso quel Setter anche se eclipse si lamentava che non fosse lì. Quindi l'ho semplicemente riscritto e ha funzionato bene (anche per tutti gli altri Setter)

Sto ancora lottando con il super costruttore implicito Item () non è definito per il costruttore predefinito. Deve definire un costruttore esplicito "


0

Di tanto in tanto provo anche quei misteriosi simboli di errore sui pacchetti. Un modo per sbarazzarsene che funziona per me è rimuovere efficacemente la libreria di sistema JRE da Java Build Path e aggiungerla di nuovo.


l'interrogante ha chiesto la causa, hai fornito una soluzione alternativa
johannes

0

La mia soluzione che alla fine ha funzionato è stata pulire tutti i progetti, chiudere l'eclissi, pulire tutti i progetti, chiudere l'eclissi e così via almeno 5-6 volte. Alla fine tutto si è sistemato e tutto è andato come previsto. La cosa più strana di sempre !!

E no, non c'erano errori nella vista Problema o nella console.

Anche questo è successo dopo un crash del computer. L'ultima volta che è successo tutto il mio spazio di lavoro era completamente perso. Era ancora lì sul computer, ma quando ho provato ad accedervi, sarebbe stato tutto vuoto.

Per qualsiasi motivo i crash del computer sono davvero davvero davvero mal gestiti da eclipse.


0

Inoltre, puoi aggiornare il progetto facendo clic,

Fare clic con il tasto destro sul nome del progetto -> Seleziona Maven -> Fare clic con il tasto destro -> Aggiorna progetto.

Questo mi ha aiutato.

Grazie.


0

Ciò può verificarsi per diversi motivi. Se hai modificato jdk, il facet del progetto avrà una X rossa accanto mentre nessun'altra cartella mostra un errore. In tal caso, modificare il jdk visualizzato. Questo accade occasionalmente nella nostra classe JAX-WS ( HSG


0

Ho risolto il mio

  • Chiudi tutti gli altri progetti (cioè opzione di progetto non correlato)

  • Pulisci e costruisci

Il mio progetto era Android e questo ha funzionato.


0

Questo è successo quando ho scaricato fabric.io su Eclipse Mars ma il riavvio del computer ha risolto questo problema per me.


0

Nel mio caso ciò che ha risolto questo problema è stato semplicemente chiudere Eclipse e riaprirlo ... Tuttavia non sono ancora sicuro del motivo per cui è successo o del perché ha funzionato. Avevo problemi a pulire il mio progetto (diceva che non era possibile eliminare determinati file) e questo lo ha risolto :):


0

ho avuto lo stesso problema. Ho controllato "Problemi" -Tab e non ho trovato alcun server per il progetto. Ho definito il server. la x rossa è scomparsa


0

Puoi andare su progetto-> Buildpath-> Library

Se è presente una libreria contrassegnata con una X, ad esempio [contrassegnata con una croce], rimuoverla e riprovare a crearla. Ha funzionato anche per me /


0

Ho riscontrato questo problema oggi e ho trovato questo collegamento. Ho seguito come accennato da Patrick Schaefer sopra e ho aperto la finestra di dialogo Aggiorna progetto Maven. Fare clic sul mio progetto di lavoro e selezionare la casella di controllo "Forza aggiornamento di istantanee / rilasci" e "OK". Tutta la croce rossa è scomparsa. Spero che questo aiuti chiunque in una situazione simile.


-2

Fare clic con il tasto destro sul progetto con errori, quindi nei sottomenu selezionare: Maven > UpdateProject >

e poi:

  • Seleziona la casella di controllo per tutti i progetti dipendenti
  • selezionare forza aggiornamento delle istantanee
  • fare clic su OK.

Questo ha funzionato per me ..

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.