2012-04-19 4 views
7

Я управляю многими проектами maven. Большинство из них развертываются в нашем внутреннем хранилище maven. Теперь я хотел бы начать выпуск одного проекта в Maven Central. До сих пор у меня был родительский POM, который указывал распределение управления нашим внутренним репозиторией. Не имеет смысла развернуть эту информацию в Maven Central.Перемещение проекта в Maven Central

Как указать управление распределением для моих внутренних проектов? Должен ли я иметь отдельную родительскую группу pom-internal для внутренних проектов?

Sonatype упоминает способ развертывания непосредственно в своих хранилищах, но они рекомендуют использовать собственный родительский pom (oss-parent). Глядя на проекты с использованием mvnrepository.org, я не мог найти никаких проектов с oss-родительским родителем. Большинство проектов вручную развертывают свои артефакты в Sonatype? Где и как они сначала развертывают их?

Столько вопросов! Я поражен тем, как это осложняется ...

Обновление: выясняется, что некоторые из проектов, которые я определил do use oss-parent. Он просто скрыт, поскольку он является родителем родителя.

+1

Последний раз, когда я читал об этом, я считаю, что вам нужно было собрать билет с собой, чтобы получить свою банку в Maven Central. Но вы правильно относитесь к репозиторию OSS Sonatype, я думаю, что при условии, что вы удовлетворите некоторым предварительным требованиям, они позволят вам напрямую развернуть его в своем репо. Если вы размещаете какую-либо библиотеку в общественном достоянии, она должна идеально иметь Apache 2 или аналогичную лицензию. Готовы ли вы открыть свой код миру? Если да, то может иметь смысл разместить код в каком-то месте, например, Github, SourceForge или Google Code. –

+0

Код открыт для всего мира. Теперь я пытаюсь сделать бинарные файлы доступными для всего мира. – schmmd

ответ

9

После того, как вы все готово, вы можете развернуть staged releases и SNAPSHOTs непосредственно в хранилище OSS Sonatype в. Затем могут быть освобождены этапы released through Sonatype's Nexus UI.

Чтобы создать папку хранилища для своего приложения, которое вы можете развернуть, вы можете указать open a ticket with Sonatype on their JIRA и ссылку на проект с открытым исходным кодом, который вы развернете. Процесс очень плавный, и Sonatype поможет вам, если вы не предоставите всю необходимую информацию.

В то время как на первом glace это не похоже, что у многих проектов есть oss-parent как родитель, они часто возникают при навигации по дереву POM. Например, у Google Guava есть родительский guava-parent, который имеет родителя oss-parent. Когда ваш проект имеет oss-parent и настроен репозиторий, вы можете легко развернуть SNAPSHOT и выпускать с mvn deploy или mvn release:prepare release:perform.

Это кажется ошеломляющим, но это легко понять, если вы просто прокладываете все шаги в первый раз.

6

Первый, который я рекомендую прочитать, является следующим: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide Родитель OSS делает под особым обстоятельством под другим нет. Это зависит от того, какой проект вы хотите распространять.

ОБНОВЛЕНИЕ: Эта связь сейчас мертва. Посмотрите here за помощь в развертывании в Sonatype.

UPDATE: Для Maven Central проверить это: http://central.sonatype.org/

+0

Я прочитал этот документ. Поразмыслить о том, когда родитель OSS имеет смысл, а когда нет?Как проекты без родителя OSS развертываются в центральном центре? Как они развертываются внутренне без распределения управления в их pom.xml? – schmmd

+0

Просто создайте свою собственную область распределения управления (http://search.maven.org/#artifactdetails|com.soebes.smpp|smpp|0.3|pom). Вы не можете развертывать внутренне без distributionManagement ... лучше всего, чтобы внутренний менеджер репо тоже ... Если у вас есть проект, который используется внутри, но будет развернут в maven в центре, чем этот проект нуждается в собственной области распределения. используя другого родителя, но будьте осторожны, и ничего не пойдёт в центральную часть maven, должно зависеть от вещей, которые не являются центральными. – khmarbaise

+2

Документ, на который вы ссылаетесь, волшебным образом исчез, без видимого преемника. –

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