Ich habe ein Projekt mit ein paar Dutzend Eclipse Plugins, alle miteinander verwandt und leben in verschiedenen Unterordnern. Der Build wurde vor einigen Jahren in eine Manifest-Tycho-Version mit mehreren Modulen konvertiert, und das funktioniert ganz gut.Benutzerdefinierte pom.xml Dateiname in Maven Multimodul für Tycho
Eines der Plugins ist eher wichtig und kann auch als eigenständige Java-App erstellt werden, die keine Eclipse-Laufzeitumgebung verwendet. Derzeit hat es eine eigene POM-Datei (pom-standalone.xml
), so dass Jenkins die Standalone-App separat erstellen kann und die Tycho-Build nichts davon weiß - die pom-standalone
listet nur die zuvor erstellten Plugin-Jars (danke Tycho!) Und Eclipse-Bibliotheken auf Abhängigkeiten. Paar Probleme mit diesem Ansatz aber:
ich nicht so leicht kann IntelliJ verwenden mit Maven Abhängigkeitsmanagement auf das eigenständige Projekt zu arbeiten, weil es nicht die benutzerdefinierten
pom-standalone.xml
Dateinamen als POM nicht erkennt.- Die viele Gläser, die dieses Projekt stützt sich auf in das Projekt im Interesse der Tycho und die Eclipse-Manifest-Datei überprüft, aber sie sind auch von Maven für das Standalone Build verwaltet. Daher müssen alle Abhängigkeiten zur Datei
pom-standalone.xml
hinzugefügt und in das OSGi-Manifest eingegeben UND für Eclipse-Zwecke in die Quellcodeverwaltung eingecheckt werden.
- Die viele Gläser, die dieses Projekt stützt sich auf in das Projekt im Interesse der Tycho und die Eclipse-Manifest-Datei überprüft, aber sie sind auch von Maven für das Standalone Build verwaltet. Daher müssen alle Abhängigkeiten zur Datei
Es scheint wie eine einfache Abhilfe Tycho/modules zu sagen, wäre etwas anderes zu benutzen als pom.xml
für das POM-Submodul, oder vielleicht alle Multimodul POM-Dateien, da Eclipse-diejenigen ohnehin nicht verwenden - dann kann die pom-standalone.xml
in pom.xml
konvertiert werden und dann wird IntelliJ damit gut.
Ich weiß, dass Sie die -f
Attribut zu Maven Builds angeben können, aber wird das wirklich für alle Submodule gelten? Können Sie den POM-Dateinamen für nur ein Submodul angeben?
Gibt es alternative Lösungen? Eclipse/Tycho/p2-Builds scheinen einige Kopfschmerzen zu bereiten, die manuelle Bibliotheksverwaltung und das Einchecken von Bibliotheken zur Quellcodeverwaltung erfordern, aber vielleicht gab es Änderungen, die mir in der Eclipse-Build-Welt in den letzten Jahren nicht bewusst waren.
Gefunden eine Similar Question, die nicht viel geholfen hat.
Vielen Dank! Ich konnte diese Information nirgends finden. Nun, wenn ich nur wüsste, wie man all diese Gläser für den Eclipse-Build eincheckt. – tdm
@tdm - Wenn Ihre Gefäße "mvn install" im lokalen Maven-Repository sind oder "mvn deploy" im Remote-Maven-Repository, dann kann Ihr Pom sie einfach als Abhängigkeiten auflisten und maven wird sie für den Build abrufen. Erklären Sie Eclipse, ein 'maven update' durchzuführen, um alle Änderungen im Pom aufzunehmen. –