如何阻止 Maven/Artifactory 保留带有时间戳的快照

2022-09-01 20:26:43

出于磁盘空间的考虑,我希望在我的存储库中只保留任何快照的一个版本。而不是保留带有时间戳后缀的多个版本

例如电子商务-2.3-20090806.145007-1.ear

如何进行设置?这是构建设置还是存储库(工件)设置

谢谢!


答案 1

最简单(也是推荐的)方法是使用非唯一快照。如果必须使用唯一快照,则可以在 Artifactory 中执行此操作,方法是在 artifactory.config 中的 <localRepository> 定义上指定 <maxUniqueSnapshots>属性.xml

例如:

<localRepository>
  <key>snapshots</key>
  <blackedOut>false</blackedOut>
  <handleReleases>false</handleReleases>
  <handleSnapshots>true</handleSnapshots>
  <maxUniqueSnapshots>1</maxUniqueSnapshots>
  <includesPattern>**/*</includesPattern>
  <snapshotVersionBehavior>non-unique</snapshotVersionBehavior>
</localRepository>

作为参考,您可以通过设置计划服务Nexus中(通过UI)执行此操作,它允许您指定要保留的最小数量,保留它们的最长期限以及是否在部署发布版本时删除快照。


答案 2

请注意,此功能/功能已在 MAVEN 3.0 中删除

只需在我自己的问题中添加一些内容:

添加

<distributionManagement>
    ...
    <snapshotRepository>
        ...
        <uniqueVersion>false</uniqueVersion>
    </snapshotRepository>
    ...
</distributionManagement>

我的父母pom也为解决这个问题做出了贡献。

看:

http://i-proving.com/space/Jessamyn+Smith/blog/2008-06-16_1

要更改 Artifactory 中存储库的唯一设置 - 以管理员身份登录 - 并在相关存储库上选择编辑 - 屏幕截图如下:

http://wiki.jfrog.org/confluence/display/RTF/Understanding+Repositories


推荐