我有一个带有父pom.xml
的多模块项目和几个模块,其中一些模块相互依赖。在项目目录中,我可以调用
mvn test
在每个模块中运行unittests。这里没问题。但如果我打电话
mvn site
其中一个模块报告
[ERROR] Failed to execute goal on project myModule_C: Could not resolve dependencies
for project org.myModule_C:jar:0.0.1-SNAPSHOT: The following artifacts could not be
resolved: org.myModule_A:jar:0.0.1-SNAPSHOT, org.myModule_B:jar:0.0.1-SNAPSHOT: Failure
to find org.myModule_A:jar:0.0.1-SNAPSHOT in http://artifactory-server:8081/artifactory/repo
was cached in the local repository, resolution will not be reattempted until the update
interval of server has elapsed or updates are forced -> [Help 1]
我认为这不应该发生,因为在“mvn test”期间会发现这些依赖关系。此外,它们不在artifactory-server中,而是在父项目中。 ERROR中提到的目标是目标site
。为什么mvn test
成功(关于它找到的依赖关系)和mvn site
不成功?我是否必须以特殊方式构建网站 - 因为这是一个反应堆构建?
答案 0 :(得分:2)
您应该至少执行一次mvn install
。请在Maven Build Life Cycle和Maven in 5 Minutes上查看更多信息。
以下是概述
虽然不是一个全面的列表,但这些是最常见的默认生命周期阶段。
验证:验证项目是否正确并且所有必要信息都可用
编译:编译项目的源代码
测试:使用合适的单元测试框架测试已编译的源代码。这些测试不应要求打包或部署代码
包:获取已编译的代码并将其打包为可分发的格式,例如JAR。
集成测试:如有必要,将程序包处理并部署到可以运行集成测试的环境中
验证:运行任何检查以验证包是否有效并符合质量标准
安装:将软件包安装到本地存储库,以用作本地其他项目的依赖项
部署:在集成或发布环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。
除了上面的默认列表 之外,还有另外两个Maven生命周期。他们是
清理:清理先前版本创建的工件
网站:为该项目生成网站文档
我希望这可能有所帮助。