使用maven-deploy-plugin部署Eclipse产品

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用maven-deploy-plugin部署Eclipse产品相关的知识,希望对你有一定的参考价值。

我正在尝试将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>

我执行'mvn clean install'来构建产品,然后执行'mvn deploy'在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的阶段更改为“install”,我会得到几乎令人满意的结果。 zip文件和生成的pom将部署到存储库,但构建失败并出现错误

product.qualifier-p2artifacts.xml. Return code is: 400, ReasonPhrase: Bad Request.

为什么当这个文件不在maven-deploy-plugin的文件元素中时,它被认为是部署到存储库,而且它不在zip文件所在的目录结构中:target / vs target / product / product.zip?这是因为maven-deploy-plugin是在安装阶段执行的,它会将所有生成的资源作为部署候选者来获取吗?

答案

我只是建议您使用Maven-Tycho来部署Eclipse RCP产品.Tycho通过插件的MANIFEST.MF文件确定插件的依赖关系,并通过在线存储库获取所需的插件包。

您可以检查此git存储库作为示例; rcp - tycho

以上是关于使用maven-deploy-plugin部署Eclipse产品的主要内容,如果未能解决你的问题,请参考以下文章

Maven maven-deploy-plugin 总是上传两次

Maven FTP部署:无法创建目录

Terraform 重新部署 EC2 实例

如何通过 Terraform 部署 Open*** EC2 实例? [关闭]

使用 AWS Elastic Beanstalk 将多个应用程序部署到单个 EC2 实例

使用 Ansible playbook 在 AWS (Amazon) ec2 中部署 Play Framework 应用程序