如何使用特定库构建maven项目?

时间:2013-12-10 16:57:29

标签: java maven jenkins

我有一个web-maven项目'A',它取决于maven项目'B'。我正在使用Jenkins进行部署。在项目“A”部署过程之前,有一个预构建参数,用于构建项目“B”,然后继续编译。我需要指出项目'A'将使用新编译的B.jar,而不是在其pom.xml上定义。

我看到了这个链接How do I trigger another job from hudson as a pre-build step?,但我不知道新罐子是如何表示的。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

简单但不保证的方法是强制依赖更新(-U)。

  1. 项目A预构建导致B构建
  2. B将B.jar部署到存储库
  3. maven的构建开始,检查依赖项(-U),找到最近的B,这是你刚建立的那个
  4. 一种变体是使用A和B作业之间共享的特定本地存储库(在Jenkins的高级maven配置中),但如果您希望作业在不同的从属服务器上执行,那么这可能很烦人。

    我建议的更复杂但更安全的方法是创建一个反应堆项目(即一个以A和B为模块的maven项目),并构建它。如果您正在处理不同的存储库,那么设置可能会很棘手,但是一旦完成,因为A和B在同一个反应堆中执行,您可以保证A将使用刚刚构建的B。