Eclipse: Soll ich für jedes Projekt einen Arbeitsbereich erstellen?

79

Ich frage mich nur, ob es am besten ist, alle meine Eclipse-Projekte in einem Arbeitsbereich zu platzieren oder einen Arbeitsbereich pro Projekt zu erstellen. Ich bin nur ein Solo-Entwickler, mehr oder weniger für Hobby, aber die Apps, die ich erstelle, haben tatsächlich Produktionsversionen, die auf ziemlich häufigen Cron-Jobs ausgeführt werden, so dass es fast wie eine Amateur-Produktionsumgebung ist.

Die einzigen Probleme, die mir bisher aufgefallen sind, sind das Exportieren von JARs. Ich habe das Potenzial, Quelldateien aus anderen Projekten einzuschließen, was anscheinend chaotisch werden könnte.

Zombies
quelle
Ich habe festgestellt, dass es für mich gut funktioniert, einen Arbeitsbereich für jeden Quellcode-Zweig zu verwenden. Wenn Sie mehrere Stellen in einem bestimmten Zweig haben müssen, kann es hilfreich sein, diese auch in separaten Arbeitsbereichen zu haben.
Thorbjørn Ravn Andersen

Antworten:

29

Früher hatte ich getrennte Arbeitsbereiche, aber ich hatte es satt, die Einstellungen zwischen ihnen konsistent zu halten. Jetzt erstelle ich Arbeitssätze für verschiedene Projekte und ändere den aktuellen Fensterarbeitssatz, um alles herauszufiltern, außer dem, woran ich arbeiten möchte. Bisher hat das für mich gut funktioniert.

Da jedes Projekt mehrere Arbeitssätze haben kann und der Fensterarbeitssatz eine beliebige Kombination von Arbeitssätzen sein kann, ist es auf diese Weise recht einfach, nur das zu sehen, was Sie zu einem bestimmten Zeitpunkt möchten.

ColinD
quelle
Wenn ich das wäre, hätte ich dies als die richtige Antwort gewählt. Es ist so einfach, Dinge mithilfe von Fensterarbeitssätzen herauszufiltern, ohne irgendetwas zu beschädigen oder hier und da Arbeitsbereiche zu erstellen. Auf diese Weise können Sie nur die relevanten Projekte sehen und sich nur auf das konzentrieren, was Sie benötigen.
Steelmonkey
28

Ich erstelle Eclipse-Arbeitsbereiche um Produkte herum, da ein Produkt für mich mehrere Projekte enthalten kann, z. B. wenn Kernbibliotheken in einem JAR in einem Projekt kompiliert werden. Dies wird von anderen Projekten verwendet.

In Bezug auf die Produktionsumgebung möchten Sie, dass Produkte in unterschiedlichen Verzeichnisstrukturen ausgeführt werden, auf diese Weise viel sauberer. In Eclipse erstellt der Arbeitsbereich ein Verzeichnis mit dem Namen des Arbeitsbereichs. Erstellen Sie also Arbeitsbereiche basierend auf dem Produkt / der App und nicht auf einem oder mehreren Projekten.

omermuhammed
quelle
1
Fügen Sie der Quellcodeverwaltung den gesamten Arbeitsbereich als einen ersten Root-Import / Check-In hinzu?
Zombies
4
Normalerweise fügen wir der Quellcodeverwaltung keine Arbeitsbereiche oder Eclipse-Projektdateien hinzu, sondern nur Projektcode und Assets. Das Ziel hierbei ist, dass ein Entwickler seinen Arbeitsbereich nach Belieben anpassen kann, solange der Quellcode kompiliert und in einem nächtlichen Build-System ausgeführt wird.
Omermuhammed
1
Was ist, wenn Sie Eclipse aktualisieren? Erstellen Sie einen neuen Arbeitsbereich und importieren Sie das Projekt? (Vielleicht sollte dies eine neue Frage sein ...) Ich frage, weil ich nach dem Upgrade von Indigo, Helio, Juno, jetzt Kepler auf Probleme gestoßen bin und daher für jeden einen neuen Arbeitsbereich erstelle. Sehr unpraktisch.
dfdumaresq
3
Wenn Sie Eclipse aktualisieren, sichern Sie zuerst Ihren Arbeitsbereich in einem separaten Ordner und versuchen Sie, den vorhandenen Arbeitsbereich mit neuem Eclipse zu öffnen (Kepler ist meiner Meinung nach der neueste). Wenn es gut funktioniert, sind Sie gut für die normale Entwicklung, andernfalls können Sie einen neuen Arbeitsbereich für die neue Eclipse-Version erstellen. Die Probleme, die Sie erwähnt haben, debuggen Sie sie sorgfältig und stellen Sie sicher, dass es sich um Eclipse-Probleme im
Vergleich zu
6

Wenn die Projekte miteinander verbunden sind (dh Abhängigkeiten voneinander haben), ist es häufig sinnvoll, sie im selben Arbeitsbereich zu haben. Wenn Sie an mehreren Projekten arbeiten, um ein verwandtes Problem zu lösen, gilt das Gleiche.

Sie werden sonst viel Zeit damit verschwenden, Arbeitsbereiche unnötig zu ändern, insbesondere wenn die IDE Ihnen sofort zeigt, welche Auswirkungen die Änderungen in einem Projekt auf ein anderes haben.

Robin
quelle
6

Ich behalte nicht nur separate Arbeitsbereiche für jedes Projekt, sondern auch separate Kopien von Eclipse. Dies liegt daran, dass ich normalerweise Projekte für längere Zeit auf Eis legen und (ohne Vorankündigung) zu ihnen zurückkehren muss und sie unbedingt bauen müssen . Ich kann nicht das Risiko eingehen, dass ein Plugin, das ich für mein letztes Projekt installiert habe (maven-basiert), den Erstellungsprozess eines der Legacy-Systeme (ant-basiert) stört. Für die Aufzeichnung dokumentiere ich die Eclipse-Umgebung für diese Legacy-Systeme, aber ich habe keine Zeit, mich mit Eclipse zu beschäftigen, wenn ein Produktionsfehler behoben wird.

Chris Nava
quelle
3

Ich würde separate Arbeitsbereiche für verschiedene "Gruppen" von Projekten verwenden. Beispielsweise möchten Sie möglicherweise Ihr Haupt-App-Projekt UND das Unit-Test-Projekt im selben Arbeitsbereich kombinieren.

Bryan Denny
quelle
Interessant .. Ich habe den Unit-Test-Quellordner tatsächlich in dasselbe Projekt gestellt.
Zombies
@Zombies: Zum Beispiel habe ich ein Android-Projekt und ein Android-Testprojekt im selben Arbeitsbereich. Das Testprojekt benötigt lediglich einen Verweis auf die eigentliche App.
Bryan Denny
3

Vielleicht habe ich Pech, aber Eclipse stirbt häufig (etwa einmal im Monat) beim Start, normalerweise in der Phase "Java Tooling initialisieren". Die empfohlene Lösung scheint darin zu bestehen, einen neuen Arbeitsbereich zu erstellen. Wenn Sie alle Ihre Projekte in einem Arbeitsbereich haben, kann dies schmerzhaft sein. Ich denke, kleinere Arbeitsbereiche können bedeuten, dass der Absturz weniger wahrscheinlich ist.

John
quelle
Guter Punkt, ich riskiere, alles auf diese Weise zu korrumpieren. Es ist fast wie ein lebendiges, atmendes Ökosystem aus Code.
Zombies
2
Sie verwenden die Versionskontrolle, nicht wahr?
Meriton
Könnte für einige in Ordnung sein. Breitband in Australien ist ein Jahrzehnt hinter der "entwickelten" Welt ...
John
6
Sie benötigen keinen Internetzugang, um die Versionskontrolle zu haben, insbesondere wenn Sie ein verteiltes System wie Git oder Mercurial verwenden.
Schlechter Sektor
3

Da die Einstellungen arbeitsbereichsspezifisch sind, ist in der Regel ein riesiger Arbeitsbereich geöffnet. Ich bin zu faul, um einige Einstellungen zwischen Arbeitsbereichen (z. B. Repositorys ...) zu synchronisieren.

Andererseits kann das Öffnen von zu vielen Projekten in einem einzelnen Arbeitsbereich Eclipse verlangsamen. Das Mindeste, was ich tun muss, ist, Projekte zu schließen, mit denen ich nicht arbeite. Ich verwalte viele relativ kurzfristige Projekte (höchstens einen Monat) in Eclipse, die sich im selben Arbeitsbereich (und in den meisten Fällen im selben Repository) befinden. Daher bietet mir dieses Setup eine größere Flexibilität.

Wenn Sie mehrere miteinander verbundene Projekte haben, behalten Sie diese im selben Arbeitsbereich. Wenn Sie eine Gruppe von Projekten identifizieren können, die immer zusammen verwendet werden, die Gruppen jedoch unabhängig voneinander verwendet werden, fügen Sie solche Projektgruppen in verschiedene Arbeitsbereiche ein. In diesem Fall sollte dies die logische Struktur sein.

Zoltán Ujhelyi
quelle
1
Dies ist auch mein Ansatz. Ich behalte nur einen Arbeitsbereich für alle meine Java-Projekte. Einige von ihnen hängen von anderen Projekten ab, das ist also praktisch, und ich habe Arbeitssets für jedes einzelne. Ich neige jedoch dazu, diejenigen zu schließen, mit denen ich nicht aktiv arbeite - macht die Dinge überschaubarer.
Elduff
3

Wir haben eine Situation, in der wir mehrere Projekte haben, einige in Filialen, was offen gesagt zu unpraktisch ist, um im selben Arbeitsbereich zu bleiben - und Arbeitssets sind ein Witz. Unglücklicherweise. Auch wenn Projekte geöffnet sind, die Sie nicht verwenden, können Sie versehentlich aus Abschlussmenüs usw. ausgewählt werden. Fehleranfällig.

Das wirklich nette Feature für uns war, als Team -> Project Sets hinzugefügt wurden (in Eclipse 3.3, glaube ich), da wir so eine einzige Datei haben konnten, die die vielen Projekte beschreibt, aus denen die gesamte Anwendung besteht und die mit Team in Eclipse importiert werden können -> Importieren. Benötigen Sie ein bestimmtes Projekt? Überprüfen Sie es aus CVS heraus, suchen Sie die darin enthaltene Datei projectSet.psf und importieren Sie DAS.

Dies hat sich bei uns als gut erwiesen.

Thorbjørn Ravn Andersen
quelle
Beachten Sie, dass wir seitdem auf maven migriert sind, was die Verwaltung mehrerer miteinander verflochtener Projekte erheblich vereinfacht.
Thorbjørn Ravn Andersen
3

Ich habe einen Arbeitsbereich pro Projekttyp. Beispiel: Normales Java, Webanwendung, Python usw.

Der Grund dafür ist, dass ich ähnliche Bibliotheken freigeben kann, ohne sie zu kopieren oder darauf zu zeigen. Außerdem schließe ich die nicht verwandten Projekte vor Eclipse, um Unordnung zu vermeiden.

Vaishak Suresh
quelle
2

Ich habe alle meine Projekte in einem einzigen Arbeitsbereich und verwende Arbeitssätze, um sie zu verwalten.

Ha.
quelle
1

Wie du willst! Ich habe es immer als sauberer empfunden, die zugehörigen Versionen verschiedener Projekte, die zur selben Version gehören, in einem bestimmten Arbeitsbereich beizubehalten. Auf diese Weise kann ich jederzeit zwischen Arbeitsbereichen wechseln, wenn ich auf etwas in einer separaten Version verweisen muss, und zum aktuellen Arbeitsbereich der Version zurückkehren. Es erspart mir auch das mühsame Auschecken oder Durchsuchen des Repositorys.

Pugmarx
quelle
1

Möglicherweise möchten Sie auch berücksichtigen, dass Sie mehrere Eclipse-Instanzen öffnen können, solange sie unterschiedliche Arbeitsbereiche betrachten. Ich bin mir nicht sicher, ob dir das wichtig ist, aber ich mache das gerne von Zeit zu Zeit.

Rob Goodwin
quelle
In OSX erlaubt jedes App-Bundle, das mit dem Befehl open geöffnet wurde (wie es Finder tut), nur eine laufende Instanz. Führen Sie jedoch über die Befehlszeile Eclipse.app/Contents/MacOS/eclipse mehrere Kopien aus
mmmmmm
1

Ich verwende gerne mehrere entkoppelte Arbeitsbereiche (die sich je nach Projekttyp unterscheiden), die Projekte von verschiedenen Standorten importieren . Einfach zu verschieben, ohne eine Menge ähnlicher Arbeitsbereiche zu erstellen. Spielt sich auch gut mit meinem SCM.

Rev316
quelle
1

Hängt davon ab, wie viele Projekte Sie bearbeiten. Wenn Sie an vielen Projekten arbeiten, würde ich denselben Arbeitsbereich verwenden, denn wenn Sie mehrere verwenden, können Sie leicht vergessen, was wo ist, und das kann zumindest frustrierend sein. Ich verwende jedoch immer unterschiedliche Arbeitsbereiche für unterschiedliche Programmiersprachen, so dass dies weniger verwirrend ist. Wenn Sie sich im JAVA-Arbeitsbereich befinden, denken Sie, JAVA: D.

Ameise
quelle