2010-02-14 14 views
6

Ich habe zwei Quellbäume in meiner Java-Anwendung in Eclipse. Einer ist "src" und einer ist "test". Jeder enthält eine Verzeichnisstruktur von .java-Dateien. So weit, ist es gut.Getrennte Klassenpfade für Testcode und Hauptcode

Ich möchte jedoch, dass die Klassen in "test" die Klassen in "src" sehen können, aber die Klassen in "src" die Klassen in "test" nicht sehen können. Ähnlich möchte ich einige Testbibliotheken einschließen. Ich möchte nicht, dass irgendeine dieser Bibliotheken im Hauptbaum verfügbar ist, damit ich sie nicht versehentlich benutze, ohne darüber nachzudenken.

Gibt es eine einfache Möglichkeit, dies in Eclipse einzurichten?

Antwort

6

Es gibt keine Möglichkeit, dies in Eclipse zu lösen, ohne die beiden Quellbäume in separate Projekte aufzuteilen (wobei eines davon abhängig ist). Maven könnte das aber zur Build-Zeit schaffen.

+2

+1 für Maven. macht das Leben viel einfacher. –

+0

Gibt es Nachteile für die Lösung "separate Projekte"? – MatrixFrog

+0

Ja, ich habe Maven schon früher dafür benutzt. Das Maven-Plugin für Eclipse ist sehr gut darin, die richtigen Gläser von den richtigen Bäumen zu blockieren. Für dieses Projekt benutze ich jedoch nicht Maven und ich hatte gehofft, dass es einen einfachen Weg gibt. Raten Sie, es gibt keinen Nachteil für ein separates Testprojekt. Werde das versuchen. –

2

Sie benötigen keine separaten Projekte, wenn Sie IntelliJ verwenden. Sie geben nur Anwendungs- und Testpakete an. Es ist möglich, Bibliotheken als Teil der Anwendung zu markieren und auch zu testen.

Eclipse sollte Entsprechung unter all diesen Plugins begraben haben. Wenn nicht, hat IntelliJ jetzt eine Community Edition.

Oder einfach Ant verwenden. Persönlich bevorzuge ich Maven. Ich finde Maven für einen so einfachen Job zu komplex.

+1

Mit allem Respekt, * "Ich finde Maven zu komplex für solch einen einfachen Job." * Ist einfach falsch. Die Verwendung von separaten Baum- und Klassenpfaden für Code und Tests ist eine native Funktion in Maven, es gibt nichts zu tun. Du kannst Maven nicht mit Ant antesten. –

+0

Maven ist meiner Meinung nach zu komplex im Allgemeinen. Bei allem Respekt, würde ich lieber IntelliJ für mich und Ant verwenden, wenn ich eine kontinuierliche Integration machen möchte. Maven ist für mich irrelevant. – duffymo

+1

Wie Sie es wünschen natürlich :) Aber für diese besondere Notwendigkeit ist der Ameisenweg * komplexer, was meine erste Sorge war. –

Verwandte Themen