2012-03-05 14 views
7

Da ieri Eclipse non sta aggiornando i file .class del mio progetto. Ad esempio il filename.java è aggiornato, ma il file filename.class ha una data di modifica di ieri. Funzionava benissimo. Perché sta succedendo?Perché Eclipse non sta aggiornando le classi?

+1

Forse in qualche modo la tua "build automaticly" è deselezionata? prova a costruire i tuoi calessi con 'ctr + B' – dantuch

risposta

19

Poche cose che vorrei fare o doppio controllo:

  1. progetto> Pulire il progetto si sta lavorando.
  2. Progetto> Crea automaticamente: attivato in modo che il codice venga ricostruito nell'area di lavoro per le modifiche salvate.
  3. Finestra> Preferenze e assicurarsi che le versioni installate di JRE e compilatori sono corrispondenti Java
+0

Risolto! Grazie mille per i suggerimenti. – menemenemu

+0

# 3 è stata la causa per me. Aggiornata la versione java di recente. – javaBean007

10

Vorrei suggerire facendo quanto segue

  1. Assicurarsi costruttore Java è attiva nel menù Project -> Properties -> Builders
  2. pulito il progetto e ri-costruirlo.
  3. Se ciò non funziona, rimuovere manualmente i file .class tramite Esplora file e fare un altro tentativo.
4

I passi che ho seguito, quando ho affrontato questo problema erano:

  1. Project > Clean il progetto.
  2. Verificare le proprietà del progetto. Confermare tutte le dipendenze (librerie di sistema JRE e dipendenze Maven) sono in buone condizioni. In caso contrario, aggiorna le dipendenze Maven o controlla se il percorso di generazione è configurato correttamente.
  3. Verificare se Project > Build Automatically è attivato.
  4. Provare a eseguire il progetto; dovrebbe ricostruire correttamente il progetto.
0

Ho avuto un problema simile quando il JRE installato e le versioni del compilatore non corrispondevano.

Ha funzionato quando ho selezionato la stessa versione di JRE come compilatore.

0

Forse ci sono vecchi file di classe? Quando ho aggiunto il mio progetto a Git, sembra che le directory di destinazione fossero diverse. Ho trovato file di classe duplicati in due cartelle separate: un set era vecchio. Tuttavia, il vecchio set sembrava essere il set "goto" per Tomcat. Ho scoperto e risolto il problema cercando * .class nella cartella del progetto root e cancellando tutti i risultati. Una volta ricostruito il progetto, ha funzionato perfettamente. (E 'anche fissato il mio Esporta in distribuzione guerra che sembrava anche di essere stato raccogliendo i vecchi file di classe.)

3

Assicurarsi costruttore Java è attiva nel menu Project -> Properties -> Builders

Grazie a @ege -akpinar, ho scoperto che per qualche motivo lo Java builder nelle mie impostazioni di progetto era sparito. Sfortunatamente non puoi semplicemente aggiungere di nuovo il builder. Per risolvere questo problema è necessario modificare il file .project nella cartella principale dei progetti.Assicurarsi che le seguenti righe siano presenti nel file:

<buildSpec> 
    <buildCommand> 
     <name>org.eclipse.jdt.core.javabuilder</name> 
     <arguments> 
     </arguments> 
    </buildCommand> 
</buildSpec> 
<natures> 
    <nature>org.eclipse.jdt.core.javanature</nature> 
</natures> 

Per effettuare la modifica, ho chiuso Eclipse. Successivamente ho controllato la preferenza Builders, pulito e ho ricostruito il progetto. Il cambiamento ha funzionato di nuovo.

0

eliminare la cartella di compilazione del progetto, quindi pulire il progetto (assicuratevi di avere l'opzione Crea automaticamente abilitata)

0

Un'altra cosa da considerare, aprire le finestre marcatori. Se si dispone di un problema di percorso build Java, Eclipse non li aggiornerà finché non vengono risolti.

0

Ho riscontrato lo stesso problema. E la soluzione è la versione di Project Java e la libreria di sistema JRE.

Seguire i passaggi sotto:

  1. Progetto -> Proprietà -> Java Compiler [verificare la versione di Java per esempio 1.6]
  2. Progetto -> Proprietà -> Java Build Path -> JRE Sistema Bibliotecario [ verificare la versione es java-6-oracle]
0

Ho avuto questo problema (su Eclipse Neon). Ho dovuto controllare il Sistema Bibliotecario di JRE prima sua intenzione di aggiornare le classi nella cartella di destinazione:

enter image description here

Spero che questo aiuto.

Problemi correlati