【问题标题】:What is the difference between mvn install -U and mvn install?mvn install -U 和 mvn install 有什么区别?
【发布时间】:2015-03-31 04:21:45
【问题描述】:

虽然我知道 mvn install -U 用于 update-snapshots 并且从构建日志中可以看出它会更新远程存储库中的所有内容,但我无法理解它会强制更新哪个部分.因为据我了解,即使mvn install 会从远程存储库中挑选东西,即使它存在于本地存储库中(maven 用于更新快照的内部计时器到期的情况除外)。

以上描述是否准确,还是我误解了更新快照的使用?

【问题讨论】:

标签: java maven maven-3


【解决方案1】:

Maven 正在根据时间间隔检查 SNAPSHOT 工件的更新。默认情况下,它每天检查一次。这意味着,如果早上您在 SNAPSHOT 中获得了更新,而下午在远程存储库中有另一个版本可用,那么您要等到明天才能获得它。

-U 选项强制检查 SNAPSHOT 更新,即使未达到更新间隔。

要添加一个注释,尽管mvn -h 中对-U 的描述是

强制检查远程存储库上更新的版本和快照

根据我以前的经验,从不检查版本是否有更新。即,我们将始终依赖我们之前检索到的任何内容进行发布。

【讨论】:

  • 我不知道您使用的是哪个版本,但在 3.2.5 中,他们将描述更改为“强制检查远程存储库上丢失的版本和更新的快照”(更准确)。
  • @JoachimRohde 我一直在使用 Maven 2.0.x 到 3.0.5,我发现该消息误导了很长时间。很高兴知道该消息已在更高版本中修复:)
  • 很好的解释,很有帮助。
【解决方案2】:

默认情况下,maven 检查 SNAPSHOT 工件的更新副本,即从远程存储库获取依赖工件的 SNAPSHOT 版本(例如 1.0-SNAPSHOT)。此选项强制 Maven 检查远程存储库中的所有快照,并在本地存储库过期时更新它。

【讨论】:

  • 区别不在于更新/所有快照。我认为这个答案是错误的
猜你喜欢
  • 2018-10-08
  • 2014-03-30
  • 1970-01-01
  • 2018-10-20
  • 1970-01-01
  • 2010-09-17
  • 2013-05-12
  • 2014-03-11
  • 2011-08-26
相关资源
最近更新 更多