2009-11-11 15 views
5

Ok Sono completamente googled.Eclipse rinomina non funziona completamente

Ho alcuni progetti Java nel mio spazio di lavoro di eclissi (circa 25).   La maggior parte dei progetti utilizza cartelle di origine collegate.

Quando si rinomina una classe in Project1, i riferimenti a quella classe negli altri progetti non vengono aggiornati. I riferimenti all'interno del progetto sono aggiornati bene.   Il risultato netto è errori di compilazione sulla successiva ricompilazione automatica.

Sto usando Eclipse 3.5.1, ma lo stesso comportamento è stato dimostrato da 3.4.0 e 3.4.2

Tutte le idee su come risolvere questo problema?

Il mio piano corrente - dopo aver cercato su Google per 20 minuti - è scrivere uno script per convertire le cartelle di origine collegate in collegamenti del sistema operativo (io sono su linux) nelle stesse cartelle del progetto.   Quindi non utilizzo più le cartelle di origine collegate.

+0

Se si prova a fare clic o utilizzare F3 su una classe in un progetto diverso, funziona? – Thimmayya

+0

Sì. Ctrl-Shift-G funziona anche. – daveb

+0

Ho provato un caso di prova con i file sorgente collegati e ha funzionato come previsto. È possibile che venga effettuato un refactoring parziale e alcuni file non siano completamente refactored? – Thimmayya

risposta

0

Le revisioni di progetti incrociati funzionano correttamente se i progetti dipendono l'uno dall'altro. Che cosa intendi esattamente con le cartelle di origine collegate: ti colleghi alla stessa cartella di origine più di una volta?

+0

Le dipendenze del progetto sono corrette. Una cartella di origine collegata è una cartella di origine che non si trova nel tuo progetto, ma che si trova altrove. Per vederlo, modifica il percorso di costruzione di un progetto, quindi nella scheda sorgente vedrai un pulsante su "Link Source". Ho collegato le cartelle di origine in questo modo – daveb

0

Questo è uno scatto al buio, ma assicurati che il tuo progetto sia un progetto Java. Non sono sicuro che altri tipi di progetti (come il Progetto generico) potrebbero non essere correttamente refactoring. Non ho mai visto questo problema prima e ha sempre funzionato come previsto per me ...

1

Come ha detto Philippe Faes, funziona perfettamente se i progetti sono impostati come dipendenza l'uno sull'altro. Assicurati che il percorso di costruzione del tuo progetto sia impostato in questo modo.

Le cartelle collegate IMHO sono per file esterne, non per altri progetti.

Un altro problema è che se si sta solo riferendo un vaso come dipendenza (ad esempio, sul percorso di classe del progetto), eclissi non sarà in grado di sapere che il vaso era configurazione basata su fonte di un altro progetto, quindi, non sarà refactoring correttamente .

Prova a chiedere ai tuoi colleghi i file di progetto di eclissi (.project e .classpath) e modifica i file se necessario, quindi controlla se il tuo refactoring non funziona ancora. Immagino che il tuo progetto sia impostato in modo diverso rispetto ai tuoi colleghi.

Problemi correlati