【发布时间】:2020-08-28 17:43:59
【问题描述】:
我正在为我的项目使用 Maven。如果我的项目不使用某些本地资源,这不是问题。 所以我正在遵循本指南 https://stackoverflow.com/a/61576687/6720896 将我的本地 jar 复制到本地 maven 存储库并由 Maven 验证。
如您所见,在maven-install-plugin 中,我设置在clean 阶段安装本地存储库。
这意味着通过mvn clean,maven 会将我的 jar 复制到 maven 本地存储库。
问题是,如果我分别通过两个命令运行mvn clean 和mvn install => 没有问题
如果我运行mvn clean install => 构建失败作为日志
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project xxxx:xxxx:war:0.0.1-SNAPSHOT: Failure to find org.xxxx:xxxx-ws:jar:1.0.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
似乎默认情况下,maven 总是执行以下顺序:验证 > 编译 > 清理 > 安装。我也尝试了“mvn clean validate”,但错误仍然存在。
感谢您的阅读。
【问题讨论】:
-
..copy my local jar to local maven repository and validated by maven是什么意思? -
直接回答您的问题标题 —
mvn clean install只是意味着运行 clean 然后运行 install。它应该为您提供与运行mvn clean然后分别运行mvn install相同的结果。我认为@Donat 是正确的,你正在做你不应该做的“干净”的事情。clean应该不“将我的 jar 复制到 maven 本地存储库” -
@StephenP 有一个细微的差别 - 请参阅我的回答。
-
@JFabianMeier - 很好的观点,但我忽略了这一点,因为在我使用 maven 的方式上,这种差异对我来说并不重要,但差异就就在那里。