2013-06-07 10 views
14

Ich habe komplexes Maven-Projekt, das einen übergeordneten Ordner mit Elternteil hat pom.xml und einige Unterordner für Teilprojekte, die jeweils mit einem eigenen pom.xml.Wie importieren Import Maven Projekte zu verfinstern?

Wenn ich die übergeordneten Ordner aus einer SVN-Repository 'Als Maven Projekte Kasse, es richtig angezeigt wird im Arbeitsbereich jeweils als separates Projekt.

Aber jetzt habe ich eine Kasse des übergeordneten Ordners aus anderen Zweig des Projekts. Ich möchte diesen übergeordneten Ordner auf die gleiche Weise zum aktuellen Arbeitsbereich hinzufügen. Also nur Import > Maven project ich wählen, die gleichen Dialoge wie aufgrund der Kasse aus dem SVN bekommen Eclipse findet alle pom-Dateien mit der richtigen Hierarchie und fragen mich, geben andere Namen übergeordnete Projekt, verursachen die gleichen Namen alredy existiert (trunc Version des Projekts), gebe ich es anderer Name. Aber nach dem Import bekomme ich nur den übergeordneten Ordner als Maven-Projekt in Eclipse, alle anderen Unterprojekte sind einfach unter dem übergeordneten Projekt als Unterordner zu finden.

Also, wie kann ich ein solches Projekt properlty importieren? Ich möchte nur, dass alle Teilprojekte als Maven-Projekte erstellt werden.

+0

Ich schaffte es, neue brach eines solchen Projekts nur in neuen Arbeitsbereich hinzufügen, alle anderen Möglichkeiten funktionierte nicht für mich. – sphinks

+0

Ich höre auf zu versuchen, in diesem Kampf zu gewinnen, starten Sie separate Arbeitsbereich für jeden Zweig zu verwenden. – sphinks

Antwort

0

Ich denke, es könnte einige Arbeitsplatz Problem sein. Möglicherweise haben Sie das Projekt im Arbeitsbereich selbst ausgecheckt (nicht sicher, also bitte um Entschuldigung). Was Sie tun können, ist, versuchen Sie Ihr Projekt in einem anderen Laufwerk auschecken und importieren Sie dann das übergeordnete Projekt. Sie werden wieder alle hierarchisch angeordneten POMs sehen und dann werden Sie wahrscheinlich nicht nach dem Namen für das Elternprojekt gefragt, und das wird den Trick machen.

+0

Nein, ich gebe den Projektnamen ein, da das Projekt mit dem gleichen Namen bereits im Arbeitsbereich ist. Wenn ich den Speicherort des Ordners ändere, kann ich kein weiteres Projekt mit demselben Namen erstellen. – sphinks

+0

Das ist, was ich sagte, Sie werden aufgefordert, da das Projekt bereits im Arbeitsbereich vorhanden ist. Erstellen Sie einen neuen Arbeitsbereich und importieren Sie dann das Projekt, das Sie ausgecheckt haben (möglicherweise in einem anderen Verzeichnis) –

+0

Meinen Sie die Checkout-Version von einem anderen Zweig in einen separaten Arbeitsbereich? – sphinks

9

Eklipse erlaubt es nicht, ein Projekt mehr als einmal importiert werden, in Ihrem Fall von Stamm und einem Zweig. This article zeigt, wie Sie diese Einschränkung mit einem benutzerdefinierten Mavenprofil umgehen können. Grundsätzlich sind die einzelnen Schritte:

  1. Fügen Sie folgendes Profil Ihrer Eltern pom.xml

    <profiles> 
        <!-- Specific profile used to append a string to project name --> 
        <profile> 
        <id>append-to-project-name</id> 
        <activation> 
         <property> 
         <name>append.to.project.name</name> 
         </property> 
        </activation> 
        <build> 
         <plugins> 
         <plugin> 
          <artifactId>maven-eclipse-plugin</artifactId> 
          <configuration> 
          <projectNameTemplate> 
           [artifactId]-${append.to.project.name} 
          </projectNameTemplate> 
          </configuration> 
         </plugin> 
         </plugins> 
        </build> 
        </profile> 
    </profiles> 
    
  2. Bevor Sie das Projekt importieren Eclipse, lassen Sie Maven die Projekteinstellungen generieren:

    mvn eclipse: eclipse -Dappend.to.project.name = [Ihr-Zweigname]

  3. Importieren Sie das Projekt als vorhandenes Pro in Eclipse ject (kein Maven-Projekt).

Dies sollte das Problem der Namensgebung lösen.


Wie für den Import von Kinderprojekten: Ich habe auch ein Elternteil Maven Projekt mit Kind Teilprojekte verwenden m2e Plugin für Ecplise. Wenn ich Import > Existing Maven Project auswähle, kann ich sowohl die Eltern als auch die Kinder überprüfen. Nach dem Import habe ich sowohl das Elternprojekt als auch jedes Kind unabhängig voneinander importiert. Screens:

project import imported projects

Ich hoffe also, diese mit der Namensgebung Lösung kombiniert oben sollte Ihr Problem lösen.

+0

Informationen zum Importieren untergeordneter Projekte. Es funktioniert perfekt, wie Sie beim Checkout als Maven-Projekt beschrieben haben, aber beim Importieren eines bestehenden Projekts mit den gleichen Dialogfenstern in Eclipse funktioniert es nicht richtig. – sphinks

+0

@sphinks Und hast du den Trick mit der Umbenennung ausprobiert? – Mifeet

+0

Ja, aber es hat nicht so funktioniert, wie ich es erwartet hatte. – sphinks

0

die Projekte löschen, die Sie als Maven Projekte ausgecheckt hatten, dann einfach das übergeordnete Projekt Check-out (nicht als Maven-Projekt), dann die untergeordnete Import-Module als Bestehende Maven-Projekte. Stellen Sie sicher, dass sie als untergeordnete Module im übergeordneten POM aufgeführt sind.

+0

Es ist keine gute Lösung, alle untergeordneten Module einzeln zu importieren. Es gibt ungefähr 30 Module. Warum sollten wir das manuell machen, wenn der Import beim Importieren des übergeordneten Projekts im Auto-Modus erfolgen soll?/ – sphinks

+0

Durch Importieren der untergeordneten Module habe ich im Dialogfeld Vorhandene Maven-Projekte importieren nach dem Verzeichnis des übergeordneten Projekts gesucht und dann alle zu importierenden POMs ausgewählt . – thSoft

+0

Das ist genau wie ich es mache. Wählen Sie alle Pom aus, um den übergeordneten Scan-Ordner zu importieren. – sphinks

3

Für den Import-Komplex (oder in der Tat überhaupt) Maven Projekte aus einem SCM (sei es SVN, Git oder andere SCM) Ich verwende den folgenden Ansatz:

File-> Importieren-> Schauen Sie sich Maven Projekte aus SCM

Dies funktioniert am besten, wenn keine IDE-spezifischen Dateien an den SCM übergeben wurden. Es importiert alle verschachtelten Projekte oder Sie können auswählen, welche Projekte importiert werden sollen. Es hängt vollständig von den Maven-Einstellungen ab, um die Art des zu erstellenden Projekts zu bestimmen, so dass Sie, wenn die POM-Dateien korrekt sind, alles richtig konfigurieren.

Möglicherweise müssen Sie Add-ons installieren, damit m2eclipse auf das SCM Ihrer Wahl zugreifen kann.

+0

Ich habe gerade geschrieben, dass ich bereits existierte Projekt importieren muss, nicht aus Svn auschecken. Von Svn verschiedene Brachen automatisch erstellen einige Unordnung auf Festplatte im Arbeitsbereich Ordner (ein Zweig im Unterordner der anderen). Also überprüfe ich einfach jeden Zweig in seinem eigenen Ordner und importiere ihn in Eclipse. – sphinks

+0

Diese Funktion kann genauso einfach aus Verzweigungen auschecken. Nur so konnte ich verschachtelte Maven-Projekte in Eclipse importieren und gleichzeitig Verbindungen zum SCM aufrechterhalten. – Kris