2016-04-04 8 views
1

ProjektstrukturProblem bei der Erstellung von Eclipse p2 Repository mit Maven Plugin tycho

com.abc.parent - Eltern pom alle Plugins Enthält für die Module erforderlich. Und die Modulausführungsliste.

com.abc.p2 - Master P2-Projekt - Eclipse-Repository die category.xml Datei mit den Informationen zu dem unten genannten Eclipse-Plugins im Zusammenhang enthält.

com.abc.common - Eclipse-Plugin

com.abc.person - Eclipse-Plugin

Was wir

Wir führen Maven zum ersten erreichen wollen Zeit für dieses Projekt. Wir wollen ein P2-Repository mit Maven erstellen (meistens mit maven tycho plugin oder anderen Standard-Plugins). Außerdem möchten wir dieses Repository an einem Standort veröffentlichen.

Was wir bisher versucht

Fall 1: Approach - Wir haben Maven Tycho-Plugin und hinzugefügt, um die Verpackung als "Eclipse-Repository" für das com.abc.p2 Projekt. Wir haben folgende Plugins in den pom.xml Dateien Wir verwenden Maven Tycho Plugin mit Version - 0.24.0 Maven Tycho Plugin. Maven-p2-Repository, tycho-Verpackung Plugin, Maven-OSGi-Plugin

Errors - 
       [ERROR]  Unknown packaging: eclipse-repository @ line 6, column 14 
       [ERROR] 
       [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit 
       ch. 
       [ERROR] Re-run Maven using the -X switch to enable full debug logging. 
       [ERROR] 
       [ERROR] For more information about the errors and possible solutions, please rea 
       d the following articles: 
       [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildin 
       gException 

Fall 2: Approach - Wir haben Maven-p2-Plugin, um P2-Repository zu erstellen.

Errors - 
       We were able to generate the P2-repository structure in the target folder of the master project, , but it failed to package all the dependent modules in the p2-repository. 

Nächste Schritte Vorschläge

bitten Sie zu unterstützen und schlagen, wenn wir auf dem richtigen Weg sind, um unser Ziel zu erreichen. Bitte lassen Sie mich wissen, falls Änderungen an meinem Ansatz erforderlich sind und weitere Dinge implementiert werden müssen.

Antwort

0

Für tycho Sie eine extensions.xml Datei in einem .mvn Ordner in der Wurzel Ihres Projekts arbeiten müssen (wo die Wurzel pom.xml ist) mit folgendem Inhalt:

<extensions> 
<extension> 
    <groupId>org.eclipse.tycho.extras</groupId> 
    <artifactId>tycho-pomless</artifactId> 
    <version>0.26.0</version> 
</extension></extensions> 

Wie Sie in der sehen ausgezeichnet Vogella tutorial

0

Ich würde vorschlagen, das tycho-p2-Repository-Plugin zu verwenden.

In Fall 1 kennt das maven-Repository-Plugin die Verpackung "eclipse-repository" nicht, da diese Verpackung von Tycho definiert wird. Ich schlage vor, einfach das Maven-Packing-Plugin aus deinem Pom zu lassen und Tycho seine Standardeinstellungen anwenden zu lassen.

Ein hilfreicher Tipp: Tycho enthält nicht alle Abhängigkeiten, obwohl das normale und gewünschte Mavenverhalten ist. Da Maven Tycho-Abhängigkeiten nicht "sehen", sind sie nicht enthalten.

Sie dieses Verhalten durch das Setzen auf true überschreiben können:

<plugin> 
<groupId>org.eclipse.tycho</groupId> 
<artifactId>tycho-p2-repository-plugin</artifactId> 
<version>${tycho-version}</version> 
<configuration> 
    <includeAllDependencies>true</includeAllDependencies> 
</configuration> 
</plugin>