我的项目是在RCP中。该产品使用Maven创建。我的RCP项目取决于第三方罐子。目前我们在plugin.xml" runtime"中添加这些jar。因此,只要第三方jar发生变化,我们就必须更新plugin.xml文件。 现在我们通过使用maven将第三方jar转换为OSGI bundle然后创建p2站点来改变流程,并在构建时,在classpath中添加第三方OSGI bundle。 我们已经完成了对OSGI包的转换并创建了p2站点。但是当我们在存储库中添加它时,转换后的第三方OSGI包并不总是下载。 我们在pom.xml中添加了以下代码,以转换为OSGI包并创建p2:site:
<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>
当我们致电&#34; mvn install&#34;它不会从&#34; http://localhost:8080/site&#34;下载罐子。每次。 所以请让我知道我的pom.xml中出了什么问题
感谢任何帮助。感谢
答案 0 :(得分:0)
在Maven中,你不能构建一些东西,然后在一个反应堆中动态地依赖它。这样就无法计算构建依赖性。你要么
或者您应该使用m2e人称之为wrapper bundle的内容。他们used it in this pom.xml。