2009-02-04 9 views
17

Ich habe einige etwas getrennte Programme, die konzeptionell in ein einzelnes Projekt passen können. Ich habe jedoch Probleme damit, Eclipse mitzuteilen, dass mehrere Ordner in einem Projektordner erstellt werden sollen.Wie richte ich mehrere Quellordner in einem Eclipse-Projekt ein?

würde Eine einfache Form der Struktur sein:

/UberProject 
/UberProject/ProgramA/ 
/UberProject/ProgramA/com/pkg/NiftyReader.java 
/UberProject/ProgramB/ 
/UberProject/ProgramB/com/pkg/NiftyWriter.java 

Das heißt, ProgramA und ProgramB sind beiden Projekte (in der Tat, sind sie vorhandenen Java-Projekte, die derzeit), die vom Konzept her paßt in UberProject.

Ich glaube nicht, dass ich UberProject ein Java-Projekt sein soll; es ist zum Beispiel kein Klassenpfad. und ProgramBtun scheinen, wie sie Java-Projekte sein sollten (sie möglicherweise andere Buildabhängigkeiten auch verwenden), aber ich sehe keine Möglichkeit in Eclipse 3.3 zwei Ordner unter UberProject zu erstellen, die Java-Code enthalten sollen. Ich habe überlegt, jedem der beiden Teilprojekte eine Projektdatei hinzuzufügen, aber ich bin mir nicht sicher, ob das auch angebracht ist. Eclipse-Hilfe ist nicht hilfreich, und ich habe nichts über SO zu diesem speziellen Problem gesehen.

Nur um klar zu sein: angenommen, als gegeben die Notwendigkeit der Existenz von UberProject. UberProject kann ein Java-Projekt sein oder nicht; es ist egal. (Es enthält übrigens andere Ordner, die keinen Java-Code enthalten.)

Antwort

17

Es gibt wahrscheinlich mehrere Möglichkeiten, dies zu tun:

1) UberProject ist Ihr Javaproject. Klicken Sie mit der rechten Maustaste auf ProgramA -> Build Path -> Als Quellordner verwenden. Klicken Sie mit der rechten Maustaste auf ProgrammB -> Pfad erstellen -> Als Quellordner verwenden. Sowohl ProgramA als auch ProgramB führen inkrementelle Builds im selben Verzeichnis durch.

2) Zwei Java-Projekte (ProgramA und ProgramB). Sie können UberProject als Ihren Eclipse-Arbeitsbereich verwenden, der am einfachsten ist, oder Sie können einen externen Arbeitsbereich verwenden und ProgramA und ProgramB als externe Projekte importieren.

Es gibt wahrscheinlich auch andere Möglichkeiten (Maven Multi-Modul-Projekt). Ihre Auswahl hängt wahrscheinlich davon ab, ob Sie zyklische Abhängigkeiten zwischen Projekten haben. Es sollte relativ einfach sein, sowohl 1 als auch 2 zu testen und zu sehen, was am besten für Sie funktioniert.

+1

(1) scheint zu arbeiten, oder zumindest mich näher zu bringen. (Es lehnt jetzt ab, den Standard-Java-Builder aus irgendeinem Grund zu verwenden.) Trotz meiner Intuition musste UberProject tatsächlich ein "Java-Projekt" sein. –

+2

... wurde das Java Builder-Problem behoben, indem die .project-Datei von Hand bearbeitet wurde. –

2

Benötigen Sie UberProject? Ich habe das gleiche Layout, habe aber mehrere Top-Level-Projekte, die mit Datei | Neues Projekt erstellt wurden. Wenn nicht, können Sie es zu einem allgemeinen und nicht zu einem Java-Projekt machen?

+0

Es ist ein notwendiges Projekt, ja; Entschuldigung, wenn das nicht klar war. Ansonsten würde ich einfach mehrere separate Java-Projekte verwenden. Ich habe die Frage bearbeitet. –

2

Sie können dies tun, indem Sie zwei Java-Projekte in Ihrem Arbeitsbereich haben.
Dann ist die Frage, wie die beiden Projekte zu gruppieren unter „UberProject“

Eine Möglichkeit, einen „UberProject“ Arbeitsplatz zu haben ist, und Wechsel zwischen Arbeitsbereichen zwischen UberProjects. Eine Alternative besteht darin, "UberProject" als Arbeitssatz zu definieren (Fenster: Arbeitssätze) und PrmgramA und ProgramB als Projekte dieses Arbeitssatzes hinzuzufügen. Wählen Sie diesen Arbeitssatz aus, und Sie sehen nur diese Projekte.

Sie können ein Java-Projekt haben und mehrere Quellordner dafür definieren. Das ist normalerweise bei "Haupt" - und "Test" -Hierarchien innerhalb desselben Projekts der Fall.

Es gibt Wege und Wege.Wählen Sie eine, die für Sie funktioniert:

9

Sie können mehrere Quellverzeichnisse in einem Projekt haben, aber Ihre Beschreibung klingt wie Sie wollen mehrere Unterprojekte in einem Projekt, die Eclipse nicht erlaubt (soweit wie ich weiss).

Wenn Sie wirklich nur mehrere Quellverzeichnisse möchten, wobei ProgramA, ProgramB usw. nur Java-Dateien und nichts anderes enthalten, dann können Sie dies relativ einfach tun. Klicken Sie mit der rechten Maustaste im Paket-Explorer auf Ihr Projekt und wählen Sie Build Path -> Configure Build Path.... Stellen Sie in dem angezeigten Dialogfeld sicher, dass im linken Bereich Java Build Path ausgewählt ist, klicken Sie auf die Registerkarte Source, und klicken Sie dann auf die Schaltfläche Add Folder.... Wählen ProgramA aus der Liste aus, und wiederholen Sie für ProgramB usw.

Wenn Sie jeden Quellordner mögen einen eigenen Ausgabeordner haben, nur überprüfen Sie die Checkbox Allow output folders for source folders und bearbeiten Sie die Ausgabeordner nach Wunsch.

Falls dies nicht der Fall ist, können Sie Ihre Projekte in eine Arbeitsgruppe einteilen. Ein Arbeitssatz ist kein UberProject, hilft aber dabei, Ihre Projekte im Paket-Explorer zu organisieren.

Verwandte Themen