我可以避免在 Archiva 中部署带有时间戳的 Maven war 版本吗?

Can I avoid Maven deployed war version with timestamp in Archiva?

在项目中,我们使用 war 路径中部署的 war 文件,使用 shell 脚本复制到 jboss。然而,找到最新的构建时间戳和构建号非常困难。有没有办法避免在像 proj-1-SNAPSHOT.war 这样的档案中使用时间戳? 我已经读过 <uniqueVersion>false</uniqueVersion> maven 3 不支持 whcih。

我正在使用 archiva-2.2.0,maven-3.3.9。

Maven 存储库不是为分发可部署组件而设计的,您的持续集成环境应该负责这一点。 Jenkins 有例如 Archive Artifacts (native) 和 Copy Artifact Plugin,您可以使用它来存储和恢复管道中的二进制文件。

但是您可以解决此问题,将 war 的版本更改为稳定版本 - 删除 -SNAPSHOT 后缀。这将为您带来可预测的 URL.

我发布这个是因为这是一个新发现,如果我 wget http://xx.xx.xx.xx:8083/repository/internal/com/xyz/1-SNAPSHOT/proj-1-SNAPSHOT.war。我在存档存储库中获得了最新部署的工件。因此 archiva 执行 302 重定向以指向 url of http://xx.xx.xx.xx:8083/repository/internal/com/xyz/1-SNAPSHOT/proj-1-20160204.122021-15.war 位置并下载最新版本。我不确定这是否适用于其他存储库,如 nexus 或 artifactory 等。

当然,我需要一个 cron 作业来定期清除陈旧的快照工件。