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

时间:2016-02-05 17:49:16

标签: maven archiva

在out project项目中,我们使用/archiva-2.2.0/repositories/internal/com/xyz/1-SNAPSHOT/proj-1-20160204.122021-15.war路径中的已部署war文件,使用shell脚本将其复制到jboss。但是,找到最新的构建时间戳和内部版本号非常困难。有没有办法避免在将其存储在archiva中时使用时间戳,如 proj-1-SNAPSHOT.war ? 我已经读过关于maven 3不支持的<uniqueVersion>false</uniqueVersion> whcih。

我使用的是archiva-2.2.0,maven-3.3.9。

2 个答案:

答案 0 :(得分:0)

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

但您可以解决此问题,将war的版本更改为稳定版本 - 删除-SNAPSHOT后缀。这将引导您获得可预测的URL。

答案 1 :(得分:0)

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

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