2012-03-20 20 views
14

我剛剛從oss.sonatype.org將一個工件同步到Maven Central。這樣做後立即發現了一個問題(當然)。我還沒有宣佈這個新的神器,任何人都不太可能使用它,所以我想在任何人開始使用破解版之前把它取下來。從Maven中心刪除工件

如何從maven中心刪除破損的工件?

+0

下面是刪除工件的示例https://issues.sonatype.org/browse/MVNCENTRAL-218 – 2013-08-06 02:12:17

回答

14

無法完成。這是一條規則。但是如果您想嘗試,請聯繫支持oss.sonatype.org的Sonatype用戶。所以你通常會推出一個新的,更高版本的修補程序,並告訴所有人使用它。

5

如果您不小心分發了一個不工作或者有bug的工件,或者Maven的常見解決方案是創建一個修復問題的新版本。而已。在Maven Central中刪除不會完成,也不應該發生。

+0

我遇到的問題是我拆分了軟件包或更改了組ID。這不是關於上面的新版本,而是刪除在回購層次結構中錯誤位置發佈的過期版本。 – Gray 2013-03-13 16:29:03

+0

就像@bmargulies提到的不能完成的那樣。而已。我們在談論Maven中央? – khmarbaise 2013-03-13 16:41:09

+0

maven central,是的。我看到包被從那裏刪除,所以我認爲這更多的是關於sonatype,然後是關於中央的限制。 – Gray 2013-03-13 16:44:53

1

您不能從Maven Central中刪除工件,因爲其他人可能已經使用它了。 Maven不會檢查非快照版本的工件更新,因此如果有人使用了舊版本並上傳了新版本,那些人就不會看到新版本。

解決方法是發佈新的工件版本。

1

這是難以抗拒的衝動,只要鬆開上演庫(這只是一個點擊即可),但在Sonatype OSS Usage Guide

建議您將要下載它們並做一些手工測試(或持有一個 社區投票)才能最終發佈它們。

如果這是您第一次發佈,那麼您必須對您的OSS Sonatype JIRA票據發表評論才能激活Central同步功能。大概這是一個機會,說「等等!這個神器已經壞了,請不要同步到Maven Central!」 :)

但正如其他人所說,如果它被釋放,那就太晚了 - 你將不得不發佈一個新版本(並確保你的用戶知道不要使用破壞的版本)。

測試版本對於新版本/主要版本來說是個不錯的主意 - 如果你填滿了某些東西,那麼人們會更加寬容,並且不會失去理想的版本號。

1

如果您不想創建新版本,則另一種解決方案是在相同版本下推送固定工件。