【问题标题】:Why the snapshot name always has date in its jar file name ? How to remove it为什么快照名称的 jar 文件名中总是有日期?如何删除它
【发布时间】:2011-10-18 17:32:21
【问题描述】:

当我部署 jar 时,maven 总是在其文件名中添加日期,这使得文件名存储库与我本地的文件不同。如何删除文件名中的日期?

谢谢

【问题讨论】:

  • 你的目标是什么?如果您正在部署“只是测试”版本,那么它们应该在它们上面有一个时间戳。如果您正在部署“完成”副本,那么您应该进行发布,而不是使用 SNAPSHOT 版本。

标签: java deployment maven nexus


【解决方案1】:

关于为什么,这是因为它是一个 SNAPSHOT 包,每次部署它时实际上都是在部署它的新版本,因此添加了时间戳以在远程存储库中区分它们。当 Maven 下载它时,它会删除时间戳,因为在您的本地存储库中只能有一个版本,因此如果不混淆时间戳,它是无用的。

可以去掉,this site使用-DuniqueVersion=false参数:

mvn deploy:deploy-file -Durl=file:///C:/m2-repo \
                   -DrepositoryId=some.id \
                   -Dfile=your-artifact-1.0.jar \
                   -DpomFile=your-pom.xml \
                   -DuniqueVersion=false

但是,您不应该关心工件名称、文件等。您使用的是 maven,因此您不必关心它们。

【讨论】:

  • 在某些极端情况下删除时间戳很有用。让我们不要对此感到虔诚..
  • @ukdavo 你是对的,这就是为什么我发布了 maven-deploy 手册的链接.. 但是,由于 Zjffdu 正在谈论远程和本地 repo 之间的差异,我不认为他是该功能计划用于边缘情况,这就是为什么我鼓励他重新考虑其解决问题的方法。
  • 我们设置了一个 nexus 来代理我发布快照的 nexus,而时间戳会导致问题,所以你有一个边缘案例。
  • 如果您在 Manifest 文件中明确列出 JAR 文件,则名称很重要的一个极端情况。这种情况不应该在生产部署中发生,但如果您依赖快照,它肯定会在任何时候发生。
猜你喜欢
  • 2022-12-14
  • 2017-07-21
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2015-10-18
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多