Рубрики
Без рубрики

Руководство для начинающих по Maven Central publishing

Maven Central – это центральное хранилище для Maven, основного хранилища Java, где вы можете найти библиотеку… Помечен как maven, java, с открытым исходным кодом.

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
  • создайте учетную запись JIRA здесь
  • Создайте новый выпуск, используя этот шаблон.

В выпуске должен быть описан проект, которым вы хотите поделиться. Наиболее важной информацией в данном случае является Идентификатор группы . Идентификатор группы является основным идентификатором вас как поставщика пакетов, поэтому он должен быть уникальным. Обычно это 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”