不使用Maven从自定义p2站点下载转换后的OSGI包

时间:2015-09-04 07:41:08

标签: maven

我的项目是在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中出了什么问题

感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:0)

在Maven中,你不能构建一些东西,然后在一个反应​​堆中动态地依赖它。这样就无法计算构建依赖性。你要么

  1. 构建您的p2更新站点
  2. 构建其余的
  3. 或者您应该使用m2e人称之为wrapper bundle的内容。他们used it in this pom.xml