我有一个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
进行构建的唯一办法吗?
答案 0 :(得分:1)
您面临的问题是您尝试从兄弟中调用构建,在这种情况下,将针对您的本地存储库执行依赖项解析。
您的问题有几种解决方案。第一个是去你的根并做mvn install
。之后,您应该可以转到您的控制器并执行mvn clean package
。但我建议转到你的root 并专门构建控制器模块:
mvn -pl controller clean package
但先决条件是在此之前进行mvn安装。