0

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

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

  • com.example.foo.jar
  • com.example.bar.jar bar 依赖于 foo
  • 两者共享一个包含 maven 模块的共同父项目

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

  • project/目录中mvn clean verify工作并且构建成功
  • in bar/directorymvn 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

4

1 回答 1

1

You can build submodules in the reactor:

mvn -pl bar package -am

You'll need to include -am to also build foo, as otherwise Maven has nowhere to get foo's jar from.

See Maven Modules + Building a Single Specific Module for more details.

于 2013-10-06T07:50:55.020 回答