it-swarm.com.de

Was ist org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER und wie lasse ich es in IntelliJ funktionieren?

Ich habe eine Java-Codebasis, die mit Eclipse geschrieben wurde und mit der ich in IntelliJ arbeiten möchte. Die Codebasis besteht aus etwa 20 Java-Paketen, die als separate Projekte nebeneinander erstellt wurden. (Es gibt ungefähr zwanzig Verzeichnisse, die jeweils eine .classpath- und eine .project-Datei enthalten.) Sie sind voneinander abhängig. Vermutlich funktioniert in Eclipse alles einwandfrei.

Ich hatte IntelliJ diese aus dem Eclipse-Build-Format importieren. Es schien meistens zu funktionieren, außer dass Project Settings -> Modules -> Dependencies zeigt, dass viele Projekte eine ungelöste Abhängigkeit von org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER haben. Dies scheint aus den folgenden Einträgen in den .classpath-Dateien zu stammen:

<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.Eclipse.jst.component.nondependency" value=""/>
    </attributes>
</classpathentry>

Die Pakete mit dieser Abhängigkeit werden nicht in IntelliJ erstellt, da sie die Abhängigkeiten von den anderen Paketen nicht auflösen können.

Ich vermute, dass org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER ein Eclipse-spezifischer Trick ist, der nicht in eine andere IDE übersetzt werden kann, aber ich kann nicht genau herausfinden, was hier vor sich geht.

Was ist org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER? Muss ich für eine Build-Umgebung, die sie verwendet, etwas Besonderes tun, damit sie außerhalb von Eclipse funktioniert?

IntelliJ Ultimate 2016.1.2, Java 1.8.0_91, OS X 10.11.5


Ich habe dieses Problem umgangen, indem ich unter Projekteinstellungen-> Module Modulabhängigkeiten zwischen meinen verschiedenen Projekten manuell hinzugefügt habe, bis alles erstellt wurde. Langweilig aber effektiv.

Ich lasse diese Frage hier oben, weil mir eine kurze Definition von org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER immer noch geholfen hätte.

14
W.P. McNeill

Intro

Das IntelliJ IDEA Maven-2-Plugin integriert Maven-2 in IntelliJ IDEA.

Zuerst

 enter image description here

Zweitens,

 enter image description here

Dritter,

 enter image description here

Ähnlich wie beim Ant-Plugin ermöglicht das Maven-2-Plugin die Ausführung von Zielen (oder Phasen) und leitet die Ausgabe (mit Fehlerhervorhebung) an das Meldungsfenster weiter.

Installation

Verfügbar für IDEA 6.0 (bis Version 1.1 auch für IDEA 5.0) über den integrierten IDEA-Plugin-Manager oder direkt von {{ http: // plugins. intellij.net/plugin/?id=1166 }}.

Falls Sie das Plugin heruntergeladen haben, extrahieren Sie einfach den Inhalt des Binärarchivs in Ihr IDEA Plugin-Verzeichnis. Der extrahierte Ordner (idea-maven-plugin) enthält einen weiteren Ordner lib, in dem alle JARs wohnen.

Verwendungszweck

Wenn Sie die Umgebungsvariablen Java_HOME und M2_HOME angegeben haben, sollte das Plugin ohne weitere Konfiguration ausgeführt werden können. Falls Java_HOME nicht definiert ist, verwendet das Plugin das interne IDEA JDK.

Wenn M2_HOME nicht definiert ist, müssen Sie in den Konfigurationsdialogen das Basisverzeichnis von Maven-2 angeben. Dies ist eine Änderung ab Version 1.1 des Plugins.

Vor Version 1.1 wurde Maven über das Startskript aufgerufen, das in der normalen Maven-Installation enthalten ist. Um einen besseren Zugriff auf den laufenden Maven-Prozess zu erhalten, wird Maven jetzt direkt durch Starten eines Java-Prozesses aufgerufen. Dies ermöglicht beispielsweise das Beenden des laufenden Maven-Prozesses durch den Benutzer.

Die Konfiguration kann auf zwei Arten erfolgen:

Entweder über die IDE -Einstellungen oder die Projekteinstellungen. Die Projekteinstellungen überschreiben immer die Anwendungseinstellungen!

Das Plugin funktioniert nicht mit IDEA Versionen vor 6.0! Das Plugin wurde unter Windows und Linux getestet. Es wurde nicht unter Mac OS X getestet.

Ressourcenlink:

  1. Maven 2 Integration
  2. Importieren von Maven-Abhängigkeiten in IntelliJ IDEA
2
SkyWalker

Ich habe eine Lösung gefunden, die für mich funktioniert, aber die Prämie ist noch offen (weil ich sie nicht schließen kann: P) und an jemanden gehen, der eine detailliertere Erklärung geben kann.

Die Lösung: Führen Sie mvn Eclipse:clean und mvn Eclipse:eclipse aus. Dies bewirkt, dass Maven die .classpath-Datei löscht und sie aus der Datei pom.xml neu erstellt. Etwas geheimnisvoll enthielt es nicht mehr den gefürchteten Verweis auf org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER.

Möglicherweise handelt es sich hierbei um ein veraltetes Tag/eine veraltete Variable in Eclipse.

0
Daniel Patrick