Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否将最后一个Maven快照保留在存储库中?_Java_Maven_Artifactory_Nexus - Fatal编程技术网

Java 是否将最后一个Maven快照保留在存储库中?

Java 是否将最后一个Maven快照保留在存储库中?,java,maven,artifactory,nexus,Java,Maven,Artifactory,Nexus,目前,我们的Nexus会整理快照,但即使存在发布版本,也会保留最后一个快照。原因是: 能够签出旧版本并(本地)生成它们 要能够运行像版本这样的目标:使用版本,它只能用版本替换现有的快照版本 我不喜欢的是快照在磁盘上占用数百GB的空间,尽管它们基本上是无用的 在我们几年前退休的Ant系统中,不存在的“快照”在发布版本中得到了解决。这解决了上述难题,但在Maven中是不可能的 还有别的好办法吗 Nexus和Artifactory的解决方案都是受欢迎的。如果您激活,则在发布版本时,应该会删除所有快

目前,我们的Nexus会整理快照,但即使存在发布版本,也会保留最后一个快照。原因是:

  • 能够签出旧版本并(本地)生成它们
  • 要能够运行像<代码>版本这样的目标:使用版本,它只能用版本替换现有的快照版本
我不喜欢的是快照在磁盘上占用数百GB的空间,尽管它们基本上是无用的

在我们几年前退休的Ant系统中,不存在的“快照”在发布版本中得到了解决。这解决了上述难题,但在Maven中是不可能的

还有别的好办法吗

Nexus和Artifactory的解决方案都是受欢迎的。

如果您激活,则在发布版本时,应该会删除所有快照


我在我的商店中使用它,并接到一些无法获取快照(给定版本的任何快照)的用户的电话:我必须解释这是因为发布了一个版本(具有相同的版本号)

是的,但是您如何处理问题中描述的缺点?这似乎是一些人所说的“红色星期一”,这意味着在周末清理之后,他们的项目在Eclipse中突然变为红色,他们需要手动整理以继续工作(像
versions:use releases
这样的目标不再有效)。避免开发过程中的这种中断是很有必要的。@JFMeier我的同事们并不认为这是一个缺点:他们知道他们必须更新依赖项才能依赖于某个版本(比快照更安全,快照可以随时更改,并使构建变红)。我只是害怕更新噩梦。例如,如果您的一个可传递依赖项已被释放,但您的直接依赖项尚未被释放,该怎么办?然后您需要添加额外的
条目来更改可传递的依赖关系?@JFMeier确切地说,我们正在使用BOM,其中包括正确的依赖关系管理。Project只声明它们的依赖项,而不指定版本,并将BOM作为snashot人工制品引用。CI/CD链会更新BOM表,所有项目都会自动受益于新版本。@JFMeier我在堆栈溢出之前记录了该过程: