2012-03-20 2 views
14

Я просто синхронизировал артефакт с Maven Central с сайта oss.sonatype.org. Сразу же после этого была обнаружена проблема (конечно). Я еще не объявил о новом артефакте, очень маловероятно, что кто-то еще его использует, поэтому я хотел бы снять его, прежде чем кто-нибудь начнет использовать сломанную версию.Удаление артефакта из Maven Central

Как удалить сломанный артефакт из центра maven?

+0

Вот пример того, где были удалены артефакты https://issues.sonatype.org/browse/MVNCENTRAL-218 –

ответ

14

Невозможно сделать. Это правило. Но если вы хотите попробовать, обратитесь к людям соната, которые поддерживают oss.sonatype.org. Поэтому вы обычно подталкиваете новую, более высокую версию с исправлением и говорите всем об этом.

5

Если вы случайно распространили артефакт, который не работает или имеет ошибку, или что-то другое, что обычно используется в Maven для создания новой версии, которая устраняет проблемы. Вот и все. Удаление в Maven Central не выполняется и никогда не должно происходить.

+0

Проблема заключается в том, что я разделил пакеты или изменил идентификатор группы. Речь идет не о новом выпуске, а о снятии устаревших выпусков в неправильном месте в иерархии репо. – Gray

+0

Просто как @bmargulies не может быть сделано. Вот и все. Мы говорим о центральном центре? – khmarbaise

+0

maven central, да. Я видел, что пакеты удаляются оттуда, поэтому я думаю, что это больше похоже на сонатип, а это касается ограничений на центральную. – Gray

1

Вы не можете удалить артефакт из Maven Central, потому что другие могли использовать его уже. Maven не будет проверять наличие обновлений для не-моментальных копий артефактов, поэтому, если кто-то использовал старую версию и была загружена новая версия, эти люди никогда не увидели бы новую версию.

Обходным путем является выпуск новой версии вашего артефакта.

1

Трудно устоять перед желанием просто освободить поставил хранилище (это только щелчок мыши), но как это было предложено в Sonatype OSS Usage Guide

Вы хотите, чтобы загрузить их и сделать некоторые ручное тестирование (или держать a ), прежде чем окончательно освободить их.

Если вы впервые выпустили, вам нужно будет прокомментировать ваш билет JARA OAT Sonatype, чтобы активировать центральную синхронизацию. Предположительно, это возможность сказать «Подожди! Этот артефакт сломан. Пожалуйста, пожалуйста, не синхронизируй его с Maven Central!» :)

Но, как говорили другие, если оно выпущено, то уже слишком поздно - вам придется выпустить новую версию (и убедитесь, что ваши пользователи знают, что не использовать сломанную).

Бета-версии - хорошая идея для новых/крупных выпусков - люди немного более прощающие, если вы что-то набили, и вы не потеряете нужный номер версии.

1

Если вы не хотите создавать новую версию, другим решением было бы нажать фиксированный артефакт под той же версией.

 Смежные вопросы

  • Нет связанных вопросов^_^