使用增量构建与jenkins的Maven依赖关系

时间:2013-07-04 11:00:15

标签: maven jenkins

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

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

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

如果触发完整版本,问题就会消失,Jenkins会使用正确的二进制文件。 有没有人有同样的问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

它不是问题,它是maven的运作方式。工件从存储库中始终,即使对于多模块构建也是如此。如果你构建了整个树,你就不会注意到,因为从本地仓库中提取的工件是你的构建在几分钟之前放置的。

如果你打开一个命令提示符来项目B的根目录并从命令行执行maven构建,那么你将获得完全相同的行为 - maven会在本地存储库中查找A(如果没有找到则使用遥控器)并且不会查看A的/目标目录。

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