我的項目位於RCP中。該產品使用Maven創建。我的RCP項目取決於第三方罐子。目前我們將這些jar添加到plugin.xml「runtime」中。所以無論何時第三方jar文件發生變化,我們都必須更新plugin.xml文件。 現在我們通過使用maven將第三方jar轉換爲OSGI包然後創建p2站點並在構建時將第三方OSGI包添加到classpath中來更改此過程。 我們已經完成了對OSGI包的轉換並創建了p2站點。但是,當我們將其添加到存儲庫時,轉換後的第三方OSGI捆綁包並不總是可以下載。 我們已經在pom.xml中添加以下代碼,在轉換爲OSGi包,並創建P2:網站:未使用Maven從自定義p2站點下載已轉換的OSGI包
<build>
<plugins>
<plugin>
<groupId>org.reficio</groupId>
<artifactId>p2-maven-plugin</artifactId>
<version>1.2.0-SNAPSHOT</version>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<artifacts>
<artifact><id>com.test.proj:proj-jar1:6.01.00-SNAPSHOT</id></artifact>
<artifact><id>com.test.proj:proj-jar2:6.01.00-SNAPSHOT</id></artifact>
<artifact><id>com.test.proj:proj-jar3:1.1</id></artifact>
<artifact><id>com.test.proj:proj-jar4:1.0</id></artifact>
<artifact><id>com.test.proj:proj-jar5:1.0</id></artifact>
<artifact><id>com.test.proj:proj-jar6:6.01.00-SNAPSHOT</id></artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.5.v20120716</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppSourceDirectory>${basedir}/target/repository/</webAppSourceDirectory>
<webApp>
<contextPath>/site</contextPath>
</webApp>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>0.22.0</version>
<extensions>false</extensions>
</plugin>
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>reficio</id>
<url>http://repo.reficio.org/maven/</url>
</pluginRepository>
</pluginRepositories>
下載,而構建我們增加了:
<repositories>
<repository>
<id>extJars</id>
<url>http://localhost:8080/site/</url>
<layout>p2</layout>
</repository>
</repositories>
當我們稱之爲「MVN安裝「它不是每次都從」http://localhost:8080/site「下載罐子。 所以,請讓我知道我的pom.xml中出了什麼問題
任何幫助表示讚賞。謝謝
Beerause Maven不這樣工作。你需要兩個步驟,你1)建立你的第三方的P2P更新站點的東西,並2)建立系統的其餘部分。在m2e中,他們正在使用他們稱之爲** wrapper bundles **的東西,它們是OSGI插件,用於存放罐子並導出它們。看看這個M2e GitHub回購。 – lschuetze
因此,在另一個插件中使用'maven-bundle-plugin'來保存jar並導出它們。 – lschuetze
感謝您的回覆。你能否詳細解釋我? –