多模块构建显着的解决方案与个人构建?

时间:2013-10-06 01:42:41

标签: java maven maven-3

我在项目中观察到以下maven行为,这对我来说没有意义。这是正在发生的事情的本质。

假设我有一个带有两个模块的项目

  • com.example.foo.jar
  • com.example.bar.jar bar取决于foo
  • 两者共享一个包含maven模块的公共父项目

当我的本地.m2为空时,因此未安装foo和bar。

  • project/目录mvn clean verify工作,构建成功
  • bar/目录mvn initialize中的
  • 不起作用,我收到一条错误消息,指出maven无法解析bar对foo的依赖

那么为什么maven在我从项目文件夹调用它而不是从单个模块调用它时可以构建项目?

project/
  pom.xml
  foo/
    pom.xml
  bar/
    pom.xml

我正在努力避免此处讨论的mvn install黑客http://developer-blog.cloudbees.com/2012/12/maven-and-hack.html

1 个答案:

答案 0 :(得分:1)

您可以在反应堆中构建子模块:

mvn -pl bar package -am

您还需要包含-am以构建foo,否则Maven无处可从foo获得jar

有关详细信息,请参阅Maven Modules + Building a Single Specific Module