我正在尝试将Eclipse产品部署到Nexus存储库。我有点成功,但仍然会遇到一些我不确定如何处理的错误。
我在构建产品的功能(F)中使用maven-deploy-plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<repositoryId>snapshots</repositoryId>
<packaging>zip</packaging>
<generatePom>true</generatePom>
<url>http://repo:8081/nexus/content/repositories/snapshots</url>
<groupId>my.group</groupId>
<artifactId>my.artifact</artifactId>
<version>1.0.0-SNAPSHOT</version>
<file>
target/products/product.zip
</file>
</configuration>
</execution>
</executions>
</plugin>
我执行&#39; mvn clean install&#39;构建产品然后部署&#39;在F.如果我这样做,那么我得到错误
Exception while publishing product /home/akravets/dev/workspaces/trunk/my.repository.feature/myProduct.product: publishing result: [Included element my.product.feature.feature.group 8.0.1.R20180301-1431 is missing. Cannot determine filter for requirement to this element.] -> [Help 1]
我已经阅读了有关此问题的讨论,但似乎与我的问题没什么关系,因为除了maven-deploy-plugin中的那个之外,我没有任何已定义的部署阶段。
如果我将maven-deploy-plugin的阶段更改为“安装&#39;我得到了近乎满意的结果。 zip文件和生成的pom将部署到存储库,但构建失败并显示错误
product.qualifier-p2artifacts.xml. Return code is: 400, ReasonPhrase: Bad Request.
为什么当这个文件不在maven-deploy-plugin的文件元素中而被认为部署到存储库时,为什么它不在zip文件所在的目录结构中:target / vs目标/产品/ product.zip?这是因为maven-deploy-plugin是在安装阶段执行的,它会将所有生成的资源作为部署候选者来获取吗?
答案 0 :(得分:1)
我建议您使用Maven-Tycho来部署Eclipse RCP产品.Tycho通过插件的MANIFEST.MF文件确定插件的依赖关系,并通过在线存储库获取所需的插件包。
您可以查看此git存储库作为示例; rcp - tycho