java - Maven:要获得最新版本 mvn clean 然后 mvn package 工作正常,但 mvn clean package 不能
问题描述
我有一个项目设置,versions-maven-plugin
用于获取最新版本。
当我mvn clean
之前运行时mvn package
,收到指定的更新消息
[INFO] Updated old_version:jar:0 to version new_version.
但是当我一起跑步mvn clean package
时,maven 无法获得最新版本,我收到了这个错误消息
Could not find artifact old_version:jar:0
为什么会这样?如果 maven 遵循执行顺序,那么它应该先清理更新版本然后打包。知道为什么mvn clean package
命令不起作用。
解决方案
运行mvn clean
然后mvn package
与不完全相同mvn clean package
。
原因:Maven在运行任何生命周期之前解析所有依赖项。
所以如果你运行mvn clean
然后mvn package
你得到:
- 解决依赖关系
- 更新你的依赖
- 解决依赖关系
- 包裹
但如果你运行mvn clean package
,你会得到:
- 解决依赖关系
- 更新你的依赖
- 包(从一开始就解决了依赖项)
总结:您不能在同一个 Maven 运行中更新和使用依赖项。
推荐阅读
- c# - 使用拖放引用,移动脚本位置会导致“Unity Text Object Reference not set to an instance of an object”
- python - if/elif 的输出没有出现在我的 python 代码中
- html - Python网页抓取非结构化表格
- java - 原始布尔值的 javax.validation.constraints?
- javascript - 如何从 i18next 获取 localeCompare 的语言环境?
- python - Python - 返回将字典值与列表进行比较的字典键
- python - 我做了这个算法来告诉你一个数字是否是素数,但我不明白为什么不同缩进级别的“if-else 语句”有效
- php - 如何使用 twig 和 symfony 获取用户输入?
- r - 基于r中的多个条件语句创建一个新列
- angular - 是否可以在运行时检查 Angular 库是否可用?