【问题标题】:Maven dependencies with jenkins using incremental builds使用增量构建与 jenkins 的 Maven 依赖项
【发布时间】:2013-07-04 11:00:14
【问题描述】:

我有一个多模块项目,其中一个子模块依赖于另一个子模块,如下所示:

pom.xml (parent pom)
|
+---- pom.xml (project A)
|
+---- pom.xml (project B) depends on A

我在 jenkins 中构建它,使用选项“增量构建”(Maven 作业类型)。我的问题是 当只有项目 B 发生变化时(这意味着 jenkins 正在构建 ONLY 项目 B),Jenkins 正在从项目 A 下载最新快照,而不是使用存在的二进制文件在项目 A 的“目标”目录中(在以前的构建中生成)。

如果触发了完整构建,问题就会消失,并且 Jenkins 会使用正确的二进制文件。 有没有人遇到同样的问题?

谢谢!

【问题讨论】:

    标签: maven jenkins


    【解决方案1】:

    这不是问题,这是 maven 的运作方式。工件总是从存储库中带来,即使对于多模块构建也是如此。如果您构建整个树,您只是不会注意到,因为从本地 repo 中提取的工件是几分钟前您的构建放置在那里的工件。

    如果您打开项目 B 的根目录的命令提示符并从命令行执行 maven 构建,您将获得完全相同的行为 - maven 将在本地存储库中查找 A(以及远程,如果未找到)并且不会在 A 的 /target 目录中查找。

    如果这是标准 maven,您可以使用根目录中的 maven also-make flag 并告诉 maven 构建项目 B 和 B 的所有依赖项,这将使 maven 也构建 A。

    【讨论】:

      猜你喜欢
      • 2019-10-10
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2019-12-04
      • 1970-01-01
      • 2020-06-02
      • 2014-08-10
      • 2012-01-15
      相关资源
      最近更新 更多