首页 > 解决方案 > 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命令不起作用。

标签: javamavenmaven-3maven-plugin

解决方案


运行mvn clean然后mvn package与不完全相同mvn clean package

原因:Maven在运行任何生命周期之前解析所有依赖项。

所以如果你运行mvn clean然后mvn package你得到:

  • 解决依赖关系
  • 更新你的依赖
  • 解决依赖关系
  • 包裹

但如果你运行mvn clean package,你会得到:

  • 解决依赖关系
  • 更新你的依赖
  • 包(从一开始就解决了依赖项)

总结:您不能在同一个 Maven 运行中更新和使用依赖项。


推荐阅读