构建一个模块时未解决的兄弟依赖性

时间:2012-05-18 20:56:38

标签: maven-3

我有一个maven多模块项目,其父POM声明:

<modules>
  <module>ui</module>
  <module>controller</module>  <!-- Depends on ui module -->
</modules>

以下运行良好:

project-root> mvn clean package

如果我尝试,会出现问题:

project-root/controller> mvn clean package

错误将ui工件报告为未解析的依赖项。

是的,我意识到这个问题已经asked before。但是它没有明确的答案(接受的答案实例只是一种解决方法)。这种行为被解释为依赖解析和反应堆构建之间的差异。 A post about Maven 3表明它已在释放后得到解决。我正在使用Maven 3.0.3并且看不到任何缓解。 Maven 3.0.4's release notes并未建议改变此行为。

你如何处理这种情况?是每次project-root进行构建的唯一办法吗?

1 个答案:

答案 0 :(得分:1)

您面临的问题是您尝试从兄弟中调用构建,在这种情况下,将针对您的本地存储库执行依赖项解析。

您的问题有几种解决方案。第一个是去你的根并做mvn install。之后,您应该可以转到您的控制器并执行mvn clean package。但我建议转到你的root 并专门构建控制器模块:

mvn -pl controller clean package

但先决条件是在此之前进行mvn安装。