26

我刚刚将一个工件从 oss.sonatype.org 同步到 Maven Central。这样做之后,立即发现了一个问题(当然)。我还没有宣布新的神器,目前还不太可能有人在使用它,所以我想在有人开始使用损坏的版本之前将其删除。

如何从 Maven Central 中删除损坏的工件?

4

5 回答 5

26

做不到。这是一个规则。但如果您想尝试,请联系支持 oss.sonatype.org 的 Sonatype 人员。因此,您通常会推送带有修复程序的新的更高版本,并告诉所有人使用它。

于 2012-03-20T15:32:32.837 回答
7

如果您不小心分发了一个不起作用或有错误的工件,或者 Maven 中的任何常见解决方案是创建一个修复问题的新版本。就是这样。在 Maven Central 中删除没有完成,也不应该发生。

于 2012-03-20T21:37:52.253 回答
3

您不能从 Maven Central 中删除工件,因为其他人可能已经使用过它。Maven 不会检查工件的非快照版本的更新,因此如果有人使用了旧版本并上传了新版本,那么这些人将永远不会看到新版本。

解决方法是发布您的工件的新版本。

于 2012-03-20T22:01:56.023 回答
3

很难抗拒只发布暂存存储库的冲动(只需单击一下即可),但正如Sonatype OSS 使用指南中所建议的那样

在最终发布它们之前,您需要下载它们并进行一些手动测试(或进行社区投票)。

如果这是您第一次发布,那么您必须评论您的 OSS Sonatype JIRA 票证才能激活中央同步。大概这是一个机会说“等等!这个神器坏了。请不要将它同步到 Maven Central!” :)

但正如其他人所说,如果它发布了,那就太晚了——你必须发布一个新版本(并确保你的用户知道不要使用损坏的版本)。

Beta 版本对于新的/主要版本是一个好主意——如果你把一些东西塞进去,人们会更宽容一些,而且你不会丢失你想要的版本号。

于 2012-11-07T09:18:05.873 回答
-3

如果您不想创建新版本,另一种解决方案是将固定工件推送到同一版本下。

于 2015-07-07T22:15:17.140 回答