2010-02-14 4 views
6

Ho due alberi sorgente nella mia applicazione Java in Eclipse. Uno è "src" e uno è "test". Ognuno contiene un albero di directory di file .java. Fin qui tutto bene.Percorsi classe separati per codice test e codice principale

Tuttavia, mi piacerebbe che le classi in "test" fossero in grado di visualizzare le classi in "src", ma per le classi in "src" non essere in grado di vedere le classi in "test". Allo stesso modo, voglio includere alcune librerie di test. Non voglio che nessuna di queste librerie sia disponibile nell'albero "principale", per non accidentalmente usarne una senza pensare.

C'è un modo semplice per impostare questo in Eclipse?

risposta

6

Non esiste alcun modo per risolvere questo in Eclipse senza dividere i due alberi di origine in progetti separati (uno a seconda dell'altro). Maven potrebbe gestirlo a tempo di costruzione comunque.

+2

+1 per esperti. rende la vita molto più facile. –

+0

Ci sono degli svantaggi nella soluzione "progetti separati"? – MatrixFrog

+0

Sì, ho già usato Maven per questo in precedenza. Il plugin Maven per Eclipse è ottimo per bloccare i vasi giusti dagli alberi giusti. Per questo progetto, però, non sto usando Maven, e speravo che ci fosse un modo facile. Indovina che non esiste uno svantaggio in un progetto di prova separato. Ci proveremo. –

2

Non è necessario disporre di progetti separati se si utilizza IntelliJ. Basta specificare i pacchetti di applicazioni e test. È anche possibile contrassegnare le librerie come parte dell'applicazione e testare.

Eclipse dovrebbe essere sepolto in tutti i plug-in. Altrimenti, IntelliJ ha ora un'edizione per la comunità.

Oppure basta usare Ant. Personalmente, lo preferisco a Maven. Trovo che Maven sia troppo complesso per un lavoro così semplice.

+1

Con tutto il rispetto, * "Trovo che Maven sia troppo complesso per un lavoro così semplice." * È semplicemente sbagliato. Avere percorsi albero e classe separati per codice e test è una caratteristica nativa di Maven, non c'è nulla da fare. Non puoi importare Maven su quello con Ant. –

+0

Maven è troppo complesso in generale, a mio avviso. Con tutto il rispetto, preferisco usare IntelliJ solo per me e Ant quando devo fare un'integrazione continua. Maven è irrilevante per me. – duffymo

+1

Come vorreste naturalmente :) Ma per questa particolare esigenza, la via Ant * è * più complessa, che era la mia preoccupazione iniziale. –