gpt4 book ai didi

java - Maven - 如何安装/部署带时间戳的快照

转载 作者:行者123 更新时间:2023-11-30 10:46:30 25 4
gpt4 key购买 nike

环境:Maven 3.3.9

你好,

我有一个版本为 1.0-SNAPSHOT 的 maven jar 模块。当我执行 mvn install 时,安装到本地存储库 (~/.m2/repository) 的 jar 没有时间戳。我同意这不是您希望在 ~/.m2/repository 存储库中包含时间戳 jar 的常见情况。但还有几个问题:

  1. mvn install 是否自动附加时间戳?寻找一些配置方式而不是在最终名称中使用 ${timestamp}
  2. 自动时间戳机制是否适用于mvn deploy
  3. 有没有办法告诉maven使用~/.m2/repository本身用于 mvn deploy?

谢谢,

拉克什

最佳答案

mvn install 只会将您的项目放入本地缓存,这意味着它可以供您计算机上的其他项目使用。

mvn deploy 会将 Artifact 部署到您的远程存储库中,该存储库通常是公司存储库管理器。

SNAPSHOT 的情况下,这意味着该 Artifact 尚未最终确定并且正在开发中。这意味着您可以创建多个相同版本的状态,例如 1.0.0-SNAPSHOT。在部署到存储库管理器期间创建的时间戳旨在让不同的 Artifact 可用于开发。如果您想使用最新版本的 SNAPSHOT,您可以通过 -U 选项进行控制。

在您准备好之后,您可以创建一个所谓的发布,它将版本设置为类似 1.0.0(没有 SNAPSHOT)的版本,它也被部署到一个不可变的发布存储库中。

此外,在您的本地缓存 $HOME/.m2/repository 中设置时间戳并没有真正的意义,因为您可以控制何时在那里安装 Artifact 而不是其他人,并且您应该避免使用 finalName 更改,因为这仅适用于您的 target 文件夹,而不适用于您的本地缓存。最后为 mvn deploy 使用本地缓存没有意义,因为这背后的想法是什么?最好是开始使用像 Nexus、Artifactory 或 Archiva 这样的存储库管理器,特别是如果你在公司环境中工作。

关于java - Maven - 如何安装/部署带时间戳的快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36525794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com