1

我有一个结构如下的多模块项目:

  • 建造
    • 模块
    • 模块.bom
    • rcp.build
      • 模块.rcp

两者都在之前分开并工作的地方构建项目。现在我把它们放在一起installAtEnddeployAtEnd不工作。我这样添加它们:

    <plugin>
      <artifactId>maven-install-plugin</artifactId>
      <version>2.5.2</version>
      <configuration>
        <installAtEnd>true</installAtEnd>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-deploy-plugin</artifactId>
      <version>2.8.2</version>
      <configuration>
        <deployAtEnd>true</deployAtEnd>
      </configuration>
    </plugin>

我没有配置上述以外的插件。仍然每当我运行构建时,我都会得到以下日志:

[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ module.rcp ---
[INFO] Installing group:module.rcp:0.1.6-SNAPSHOT at end
[INFO] 
[INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ module.rcp ---
[INFO] Deploying group:module.rcp:0.1.6-SNAPSHOT at end
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] modules ............................................. SUCCESS [  3.339 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:05 min
[INFO] Finished at: 2019-01-18T12:54:18+01:00
[INFO] ------------------------------------------------------------------------

Maven 忘记安装/部署。

我发现了这个错误这个问题,这表明它可能是由于第谷。所以我将 Tycho 插件添加到父pom.xml中,但它什么也没做。然后我完全移除了 RCP 模块。还是同样的问题。

现在 BOM 仍然有一个不是 Maven 项目“构建”的父级,删除它/更改父级可以正确安装和部署构建。但是,由于它是 BOM,我不能使用“构建”父级。

有没有其他方法可以获取installAtEnddeployAtEnd在我的项目结构中工作?

4

1 回答 1

0

正如khmarbaise指出的那样,可以使用以下 Maven 扩展:https ://github.com/khmarbaise/maven-deployer-extension

请注意,这种方法不适用于 Jenkins,因为它不支持 Maven 核心扩展。(我会说“还”,但 JENKINS-30058 是一个有 4 年历史的阻止程序错误,所以我想它不会很快得到修复。)如果构建也应该在 Jenkins 上运行,似乎没有除了禁用deployAtEndinstallAtEnd 或从模块中删除第二个父 POM 之外的其他选项。


今天,我发现了在维护旧项目的同时不部署构建的另一个原因。有这样的事情:

        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
        </plugin>

删除<extensions>使项目再次部署。

于 2019-01-28T07:39:54.587 回答