Maven Central – это центральное хранилище для Maven, основного хранилища Java, где вы можете найти библиотеки и компоненты. Разработчики Java используют этот репозиторий для создания java-приложений и эффективного управления зависимостями.
Раньше я был очень напуган, отправляя артефакт (т.Е. пакет java) в Maven Central, так как в прошлом он казался мне очень сложным. Например, подтолкнуть к npmjs кажется более легким ( публикация нпм !).
Эта статья – всего лишь руководство (по крайней мере, для меня) о том, как легко отправлять некоторый контент в Maven Central, используя только учетную запись Github .
Может быть, вы спрашиваете себя, зачем переходить на Maven Central, когда в 2020 году у нас будет несколько способов выпуска пакета java?
- Maven Central является основным хранилищем. Вам не нужно объявлять дополнительный
репозиторий
в вашемВам не нужно объявлять дополнительный
репозиторий - в вашем , он просто доступен по умолчанию в вашем проекте Maven/Gradle….
- Другие основные репозитории обычно синхронизируются с этим основным. Здесь я покажу вам, как опубликовать в
- OSSRH (Хостинг репозитория OSS) это основной способ публикации пакета. Этот репозиторий синхронизирован с Maven Central. Существует не так много других доступных решений, как чистые репозитории, бесплатно (я хочу публиковать контент с открытым исходным кодом, я не хочу за это платить) Пакет GitHub
кажется очень многообещающим
ноконечные пользователи должны манипулировать
репозиториями часть pom.xml
В выпуске должен быть описан проект, которым вы хотите поделиться. Наиболее важной информацией в данном случае является Идентификатор группы
. Идентификатор группы
является основным идентификатором вас как поставщика пакетов, поэтому он должен быть уникальным. Обычно это URL-адрес в обратном порядке, например: в.dev
.
Для разработчика-любителя, использующего github или эквивалентную платформу git, я рекомендую следующее: io.github. ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ
.
Как только билет будет создан, вам придется доказать, что вы владеете идентификатор группы предоставлено (для GitHub это просто вопрос создания нового временного репозитория проекта)
Вот небольшой проект maven, которым я хочу поделиться на Центральном:
gbandsmith/biar-менеджер
Библиотека файлов архива BIAR BI
Это очень простая библиотека, предназначенная для чтения файлов определенного формата.
Существует длинный список требований, необходимых для того, чтобы ваш проект был принят на OSSRH, вы можете прочитать его здесь .
Чтобы возобновить выполнение требований:
- вы должны предоставить javadoc (например, используя
maven-javadoc-плагин
) - вы должны предоставить исходные тексты (например, используя
maven-source-плагин
) - вы должны подписать файлы с помощью GPG (например, используя
maven-gpg-плагин
) тот
pom.xml
файл должен содержать достаточное количество метаданных:Идентификатор группы
(уникальное пространство имен, напримерio.github. ИМЯ ПОЛЬЗОВАТЕЛЯ
)артефактИд
версия
имя
описание
URL-адрес
лицензии
частьразработчики
частьscm
секция
Для справки вот мой pom.xml файл, соответствующий требованиям.
Не забудьте установить gpg и создать новый ключ, если у вас его нет (я снова нашел свой ключ, сгенерированный в 2004 году да, я стар!)
brew install gpg # mac example gpg --gen-key
Используя Maven, необходимо использовать правильное управление распространением
и помочь себе с помощью nexus-staging-maven-плагина
плагин:
ossrh https://oss.sonatype.org/content/repositories/snapshots ... org.sonatype.plugins nexus-staging-maven-plugin 1.6.7 true ossrh https://oss.sonatype.org/ true
(опять же, это доступно в моем pom.xml )
Вы должны авторизоваться в репозитории OSSRH, изменив свой settings.xml
файл под ~/.m2
:
ossrh your-jira-id your-jira-pwd
Используйте идентификатор и пароль, которые вы создали в начале этой статьи.
И затем, если у вашего проекта maven уже есть правильная версия, вы можете напрямую перейти к OSSRH, используя:
mvn clean deploy
Свойство autoReleaseAfterClose
для nexus-staging-maven-плагина
, установленное в значение true, напрямую переместит артефакт из моментального снимка в репозиторий выпуска.
Примечание: чтобы изменить версию проекта Maven, вы можете использовать следующее:
mvn versions:set -DnewVersion=1.2.3 # set the version mvn versions:commit # remove the pomBackup file mvn versions:revert # back to previous version
Через несколько часов вы сможете увидеть свою посылку на Поиск Maven
Отличная работа!
Во время моего исследования я нашел этот инструмент: https://jitpack.io/
Кажется, это простой способ использовать существующий репозиторий git в качестве зависимости maven. Я еще не тестировал его, но он похож на гибкий Я скучаю по Maven ( Композитор для PHP позволяет использовать репозиторий git, npmjs позволяет использовать репозиторий git и т. Д.)
- Эта статья во многом опирается на руководство OSSRH здесь .
Ну, там больше шагов, чем npmjs
но это очень доступно, и вы можете сделать то же самое. Может быть, это также может быть время для меня, чтобы исследовать Gradle или другие новые инструменты для Java… Дайте мне знать, если вы уже отправили артефакт в Maven Central? Спасибо за чтение!
Оригинал: “https://dev.to/julbrs/beginner-guide-to-maven-central-publishing-3jio”