9 Stimmen

Eclipse: wie man Projekt-Quelldateien und ant build.xml getrennt von Eclipse-Arbeitsbereich zu halten?

Ich versuche, mich wieder mit der Eclipse-Umgebung und der Ameisenintegration vertraut zu machen.

Frage ist: wie meine Quellen-Verzeichnis + build.xml getrennt von den Arbeitsbereich zu halten?

Was ich habe, ist ein kleines Java-Projekt und seine build.xml-Datei mit allen Quellen, die in einem separaten Projektordner. Dann habe ich Eclipse gestartet und mein Projekt importieren lassen über Neues Projekt -> "Java Projekt aus bestehender Ant Build Datei"

Alles lief gut, bis ich das Projekt von Eclipse aus mit build.xml bauen wollte. Ant fängt an, sich darüber zu beschweren, dass es nicht in der Lage ist, den Quellbaum zu finden. Nachdem ich den Arbeitsbereich untersucht habe, stellte ich fest, dass Eclipse die build.xml in den Arbeitsbereich kopiert hatte, also ist es offensichtlich, dass Ant dort keine Quellen finden konnte. Sie befinden sich immer noch unter meinem Projektdirektor und ich möchte sie nach Möglichkeit dort belassen.

Was ist also der beste Weg, damit diese Einrichtung funktioniert? Arbeitsbereich auf einer Seite, mein Projekt auf der anderen?

Danke!

edit: Ist das, was ich will, überhaupt möglich?

11voto

aliasmrchips Punkte 909

Anstatt "Java-Projekt aus vorhandener Ant-Buildfile" zu verwenden, erstellen Sie einfach ein "Java-Projekt". Deaktivieren Sie im Assistenten die Option "use default location" und geben Sie den Pfad zum obersten Verzeichnis Ihres bestehenden Projekts ein (d.h. das Verzeichnis, in dem sich Ihre build.xml befindet). Es stimmt zwar, dass Eclipse die Dateien .project und .classpath in Ihrem Projektverzeichnis anlegt (wenn sie nicht bereits existieren), aber das Projekt bleibt außerhalb des Eclipse-Arbeitsbereichs.

Dieses Verfahren hat sich in einer ganz bestimmten Situation auf einem Einzelsystem bewährt, bei dem sich der Quellbaum an einem gemeinsamen Ort befindet, aber jeder Benutzer einen Arbeitsbereich an einem geschützten Ort hat. Mit der oben beschriebenen Methode kann jeder Benutzer dieses Systems ein Projekt in seinem eigenen Eclipse-Arbeitsbereich erstellen, Ant-Targets ausführen und das Projekt anschließend aus seinem eigenen Arbeitsbereich entfernen, ohne dass die Arbeitsbereiche der anderen Benutzer davon betroffen sind.

2voto

FerranB Punkte 33783

Wie sieht es mit der Verwendung von Links aus?

1voto

Stabledog Punkte 2866

Ich mache das ständig in C++-Projekten (leider nicht in Java, aber ich denke, das Konzept ist portabel).

Ich habe meine Arbeitsbereiche in ~/workspaces/{workspace_name}. Ich habe eine einzige gemeinsame Projektdatei in ~/{my_projects, und die Quellbäume (mehrere Versionen) befinden sich in ~/proj1, ~/proj2, usw.

Innerhalb jedes ~/proj*-Verzeichnisses habe ich einen Symlink zu ~/my_projects/.project und .cproject (für C++ erforderlich, in Java nicht verwendet) gesetzt. Auf diese Weise teilt sich jeder Quellbaum eine einzige Projektdatei. Dann konfiguriere ich in jedem Arbeitsbereich (einer für jeden Quellbaum) den Arbeitsbereich, indem ich den Projektlink importiere. Zum Beispiel importiert ~/workspaces/proj1 ~/proj1/.project, aber ~/proj1/.project ist eigentlich ein Symlink zu ~/my_projects/.project.

Auf diese Weise bleibt die Quelle von den Arbeitsbereichen getrennt. Bei der Erstellung muss keine wirkliche Konfiguration vorgenommen werden - ich lasse Eclipse einfach make im entsprechenden Knoten des Baums ausführen - wir haben bereits unser eigenes befehlsorientiertes Erstellungssystem (wir verwenden nicht ant, aber das gleiche Prinzip sollte gelten).

Ich kontrolliere den Ordner ~/my_projects in einem privaten Bereich des SCM, so dass andere Teammitglieder ihn nicht sehen oder daran herumspielen können - viele von ihnen verwenden Eclipse überhaupt nicht.

0voto

KevinS Punkte 7333

Es gibt eigentlich keinen Grund, Ant und Eclipse davon abzuhalten, dieselben Quelldateien zu verwenden. In der Tat ist es wahrscheinlich besser, dass sie den gleichen Satz verwenden.

Denken Sie daran, dass Sie eigentlich nichts mischen. Es gibt nur einen Satz von Quelldateien und dann zwei verschiedene Möglichkeiten, diese zu erstellen: Ant und Eclipse. Diese Erstellungsmethoden sind unabhängig voneinander, so dass es kein Problem darstellt, an Eclipse gekoppelt zu sein. Sie können sogar problemlos alle Eclipse-Dateien (.classpath, .project, .settings) an die Versionskontrolle übergeben, ohne dass dies Auswirkungen auf Entwickler hat, die eine andere IDE verwenden.

0voto

Matthew Farwell Punkte 59529

Ich mache das ständig (zugegebenermaßen mit Maven, nicht mit Ant), aber das Prinzip ist das gleiche.

Wenn Sie ein bestehendes Projekt in Eclipse haben (mit dem .project im Quellbaum), dann können Sie Import Project->Import Existing Project wählen. Wenn das Dialogfeld erscheint, können Sie "Copy projects into workspace" auswählen. Vergewissern Sie sich, dass dies nicht angekreuzt ist, und importieren Sie.

Sie speichern das Projekt immer noch im ursprünglichen Quellbaum, aber das ist auch schon alles.

Jetzt habe ich also

  1. code/xxx (enthält die .java-Dateien, die sich in SVN befinden)
  2. code/xxx-workspace (der den Eclipse-Arbeitsbereich enthält)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X