Domanda

Ho una serie di progetti correlati che ho messo sotto controllo Git (tutti questi progetti sono nella stessa area di lavoro, che è il primo livello del repository Git) e clonato dal mio desktop (32bit) per il mio computer portatile (64bit) in modo da poter lavorare su di essi, ovunque. La cartella di lavoro .metadata è escluso, ma tutto nelle cartelle di progetto viene seguito.

Quando ho aperto lo spazio di lavoro clonato sul portatile, sono stato accolto da un errore:

Project 'project' is missing required library:
'/usr/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar'

Ovviamente, il 64bit eclisse non hanno le librerie a 32bit, ma sono curioso di sapere come questo dovrebbe essere risolto.

Questa biblioteca è stata aggiunta come parte del modello finestra Builder SWT / JFace Project. C'è un org.eclipse.swt_3.5.2.v3557f.jar nell'eclisse plugin cartella, ma cambiando il classpath per cercare che non funziona (non trova SWT, stranamente). Guardando attraverso il resto del file .classpath per la SWT / progetti JFace, questo particolare biblioteca è il solo uno che è così specifica piattaforma.

ho messo entrambe le versioni della libreria nella .classpath e questo permette il codice per costruire / corsa, anche se devo ignorare l'errore percorso di generazione, e questo errore si propaga di nuovo al mio desktop quando tiro il portatile cambia di nuovo.

Posso solo link simbolico il barattolo a 64 bit sul computer portatile per il nome a 32 bit in modo che il percorso di classe può trovare la libreria? C'è un'altra soluzione migliore?

Aggiorna : Sembra che questo tipo di progetto deve dipendere il frammento di cemento SWT, così fino a quando non c'è una soluzione migliore che ho intenzione di link simbolico i frammenti in questione su entrambe le macchine per dirigere il compilatore al frammento corretto. Costruire / corsa i progetti su altre macchine (e in particolare di Windows) sarà !! Fun !! ma Io edificherò quel ponte quando sarò lì.

È stato utile?

Soluzione

Che cosa stai tenendo nel controllo del codice sorgente?

La pratica migliore è quello di mantenere solo i file sorgenti scritti a mano sul repository dei sorgenti. Non binari o file generati, o le impostazioni IDE.

Credo che tu abbia il problema con le impostazioni IDE per il vostro 64bit Eclipse che non funziona con 32bit uno.

Proprio directory di eliminazione .metadata nell'area di lavoro, e reimportare tutti i progetti in questa Eclipse.

Altri suggerimenti

Non farlo con tutto il lavoro. Basta farlo con i singoli progetti. Funziona bene qui.

Quale tipo di progetto che si sta sviluppando? Il progetto Java o progetto plug-in?

Se si sta sviluppando il plug-in del progetto, il progetto non dovrebbe dipendere direttamente calcestruzzo SWT frammento (come swt.gtk, swt.win32). Si dovrebbe dipendere il plug-in ospitante 'org.eclipse.swt' che l'effettiva attuazione swt è diversi frammenti in diverse piattaforme.

Se si sta sviluppando un progetto Java che richiede la SWT come l'obbligo di terze parti. È possibile installare il pacchetto delta Eclipse sia per il 32bit e 64bit eclisse.

Per problemi di piattaforma evitano, si potrebbe anche prendere in considerazione Maven. Utilizzando Maven 2 o 3, con la combinazione opzionale di questioni piattaforma profili può essere risolto abbastanza facilmente. Utilizzando alcuni plugin Maven per Eclipse, i progetti Maven possono essere importati in Eclipse direttamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top