2012-08-14 4 views
5

Ich hatte vor kurzem musste ein Apache-Projekt auschecken, um einige Fact-Finding/Debugging (speziell Maven-Surefire-Plugin, siehe this question). Dies ist, wie die meisten anderen Apache-Projekte, ein Maven-Multi-Modul-Projekt. Also, in Eclipse, öffne ich die SVN-Repositories browswer, fügen Sie ein neues Repository, finden Sie das Projekt und right-click->Checkout.... Klicken Sie im Assistenten auf Checkout as a project in the workspace und geben Sie den Namen des Projekts ein.Eclipse m2e Multi-Modul-Projekt auschecken und konvertieren maven

Ich habe das Projekt, jetzt muss ich Eclipse wissen sein ein Maven-Projekt, so right-click->Configure->Convert to Maven Project. Jetzt ist das Elternprojekt ein Maven-Projekt. Ich kann right-click->Run As->Maven Build und es funktioniert. Aber alle Module sind nur Ordner. Eclipse weiß nichts darüber, wo sich der Quellcode befindet oder ob es überhaupt einen Quellcode gibt. In einem einzelnen Modulprojekt hätte es den Quellordner, den Erstellungsordner und andere Konfigurationen automatisch festgelegt. Wenn Sie ein Projekt mit mehreren Modulen von Grund auf neu erstellen, erstellen Sie zunächst das übergeordnete Projekt, und wenn Sie Module hinzufügen, werden sie jeweils als einzelne Projekte in Eclipse mit dem physischen Verzeichnis angezeigt, das unter dem übergeordneten Projekt lebt Ordner nach dem Standard-Maven-Build-Prozess.

jetzt also zu wissen, wie es geht, wenn Sie neue Projekte erstellen kann ich File->New->Project..., wählen General->Project, geben Sie dem Projekt einen Namen (ich es dem Modulnamen übereinstimmen), deaktivieren Sie Use default location und setzen Location: auf den Pfad auf dem Modul im Inneren des übergeordneten Projektordners. Nach dem Klicken auf Finish und Wiederholen des Prozesses für jedes andere Modul habe ich etwas, das ähnlich aussieht, was ich erwarten würde. Ich muss nun jedes einzelne Modul auf die gleiche Weise wie das Elternprojekt in ein Maven-Modul umwandeln. Großartig, das sind alles Maven-Projekte, oder?

Also dann öffne ich sie, und der Quellordner ist nicht festgelegt.

Argh ... Dann gehe ich zu jedem Projekt, drehen Sie es auf und auf der src Ordner I right-click->Build Path->Use as Source Folder. Schütten, spülen, wiederholen ... Sobald alle Projekte fertig sind, sieht es so aus und fühlt sich an, als hätte ich dieses Projekt von Grund auf neu begonnen. Dinge funktionieren.

Meine Frage ist, ist es wirklich so schwer? Fehle ich eine Abkürzung? Wäre es nicht sinnvoll, wenn Configure->Convert to Maven Project auf dem Eltern Pom realisiert, es war ein Multi-Modul-Projekt und hat die ganze Arbeit für mich getan? Dies ist ein sehr schmerzhafter Prozess für Apache-Projekte, da sie alle viele, viele Module zu haben scheinen ... Wer kennt einen besseren Prozess?

Antwort

3

Sie könnten versuchen, den gesamten Code außerhalb von Eclipse abzurufen, importieren Sie das übergeordnete Projekt als ein vorhandenes Maven-Projekt (right-click -> Import... -> Existing Maven Projects), und sehen Sie, ob alles so kommt, wie Sie erwarten. Dann right-click -> Team -> Share Project... auf dem übergeordneten Projekt.

+0

Das funktioniert tatsächlich. Schmerzhaft, aber es funktioniert. Sie haben ein 'Checkout as Maven Project', von dem ich mir vorstelle, es würde es in einem Schritt tun, aber es scheint nicht in Indigo zu funktionieren. (Https://groups.google.com/a/openmrs.org/forum/? fromgroups #! topic/dev/HOdx65D3h2U [1-25]). Es ist auch erwähnenswert, dass dies ungefähr 3 Stunden dauerte, um das Apache todsichere Projekt (das Elternteil des maven-surefire-plugins) abzuschließen ... – Lucas