Опубликуйте пакет jar в центральном репозитории maven.
Недавно я сделал проект swagger-ui с открытым исходным кодом.Поскольку он использует vue для разбора swagger-json, ему нужна поддержка внешнего интерфейса.Чтобы легко использовать эту функцию на внутреннем уровне, скомпилированный результат проекта vue: поместить в пакет jar Центральный репозиторий maven доступен для тех, кто в нем нуждается.
Другим преимуществом превращения интерфейсных проектов в jar-файлы для внутреннего использования является то, что некоторые проекты могут не иметь междоменных настроек. root и может быть легко использован.
подать заявку на groupId
Центральный репозиторий представляет собой набор множества jar-файлов, а уникальность идентификации для использования maven определяетсяgroupId
,artifactId
,version
Он состоит из трех элементов, первый — единственный, который нам нужен извне, а последние два — для нашего собственного планирования и использования, поэтому самое главное для загрузки на центральный склад — подать заявку на одинgroupId
,этоgroupId
с пакетом jar, который вы хотите загрузитьgroupId
должны быть последовательными.
Зарегистрировать аккаунт
Зарегестрированный адрес:вопросов.так что type.org/secure/sign…
Номер учетной записи и пароль будут использоваться при входе в систему рабочих заданий и отправке, поэтому вам необходимо помнить об этом.
применить идентификатор группы
Адрес приложенияIssues.so что type.org/secure/dash…
Нажмите «Создать».
- проект:
Community Support - Open Source Project Repository Hosting
- тип вопроса:
New Project
- Резюме: Опишите, что вы собираетесь делать, попробуйте использовать английский язык, вы можете использовать Youdao для помощи в переводе.
- Описание: Может быть пустым, вы можете просто написать, почему вы хотите подать заявку на один
groupId
- Идентификатор группы: очень важно, заполните уникальный идентификатор, обычно с собственным доменным именем, например
com.tennetcn.free
Это, в настоящее время также может бытьgithub
пользователи, могут заполнитьcom.github.chfree
Такого рода. Независимо от того, какой из них вы заполните, должны быть соответствующие правила проверки У меня есть собственное доменное имя, и я сделал регистрацию доменного имени.TXT
Разбор проверки - URL-адрес проекта: вы можете указать адрес вашего проекта с открытым исходным кодом.
- URL-адрес SCM: может использоваться с
project url
тот же адрес - Уже синхронизировано с Centra: готова ли она к синхронизации с центральным репозиторием, если да, она перезапишет предыдущую сборку.
Затем нажмите «Создать».Если время совпадает, кто-то может немедленно ответить на заказ.Если это ваше собственное доменное имя, вам нужно сделать это.TXT
Разбор проверки.
Запомнить: После того, как кто-то еще ответил на рабочий порядок, вы выполнили операцию по разрешению по соответствующей информации порядка работы или на доменном имени, обязательно сделайте этоComment
Операция похожа на сообщение обработчику текущего наряда, я уже выполнил вашу операцию, вы смотрите смысл. В противном случае, если вы будете долго ждать, у вас не будет хода выполнения заказа.
В конце концов, будет следующий ответ, и статус рабочего задания будет решен. Если вы успешно загрузите, вы можете вернуться и закрыть эту проблему. Фактически, вы использовали систему управления дефектами, такую как jira, что легко понять.
com.tennetcn.free has been prepared, now user(s) chfree can:
Deploy snapshot artifacts into repository https://oss.sonatype.org/content/repositories/snapshots
Deploy release artifacts into the staging repository https://oss.sonatype.org/service/local/staging/deploy/maven2
Release staged artifacts into repository 'Releases'
please comment on this ticket when you promoted your first release, thanks
обработка шифрования gpg
Это метод шифрования на основе ключей, который использует пару ключей для шифрования и дешифрования сообщений, чтобы обеспечить безопасную передачу сообщений.
windows
,mac
,linux
Есть соответствующие обычаи.
windows
Он разделен на следующие шесть шагов.Я думаю, что следующие шесть шагов можно использовать в командной строке.
-
Загрузить и установить
GPG
окружающая обстановка
ссылка на скачивание:www.gpg4win.org/ -
Проверьте, прошла ли установка успешно
Откройте окно командной строки cmd и введите
gpg --version
Успешный вывод после выполненияgpg
Версия - успешная установка
- сгенерировать ключ
выполнение командной строки
gpg --gen-key
Введите свое имя пользователя и адрес электронной почты, как будет предложено, иPassphase
, остальную информацию можно использовать по умолчанию,Passphase
Это пароль, его нужно запомнить и загрузить позжеjar
используется при упаковке
- Посмотреть открытый ключ
воплощать в жизнь
gpg --list-keys
Выведите следующую информацию
/Users/chenghuan/.gnupg/pubring.kbx
--------------------------------------------------------
pub rsa4096 2020-04-24 [SC] [有效至:2024-04-24]
29B9DBA6638B7D0DCFFA84ECBB95DD3381441B80
uid [ 绝对 ] chfree <chfree365@qq.com>
sub rsa4096 2020-04-24 [E] [有效至:2024-04-24]
где шестнадцатеричная строка29B9DBA6638B7D0DCFFA84ECBB95DD3381441B80
сгенерированный открытый ключid
- опубликовать открытый ключ воплощать в жизнь
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 29B9DBA6638B7D0DCFFA84ECBB95DD3381441B80
опубликовать открытый ключ дляPGP
После сервера ключей вы можете использовать локальный закрытый ключ для цифровой подписи компонента загрузки, компонент загружается, и пользователь может загрузить его для проверки общедоступной подписи, то есть мы можем проверить, были ли загружены мной члены , потому что возможно, что член был плохо подделан.
- Убедитесь, что выпуск прошел успешно
воплощать в жизнь
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 29B9DBA6638B7D0DCFFA84ECBB95DD3381441B80
успешный выводgpg
Ключевая информация успешно выпущена
я используюmac
тот, что наGPG Keychain
, адрес загрузкиgpgtools.org/Более дурацкая работа интерфейса.
загрузка пакета проекта
проект должен бытьjar
Посылка загружается на центральный склад, иjar
Нам нужно использовать нас в процессе упаковкиgpg
Сгенерированная ключевая информация, конечно самое главное это конфигурацияpom
документ
настроить settings.xml
существуетsetting
, в основном настройте учетную запись и пароль, которые мы зарегистрировали на первом шаге, потому чтоsetting.xml
является локальным, в то время какpom.xml
Он должен быть загружен на исходный сервер, поэтому он находится вsetting.xml
середина.
можно найтиide
соответствующийmaven
элемент конфигурации, текущийide
соответствующийsetting.xml
По какому пути, если нет конфигурации, можно скачатьapache-maven
Пакет после распаковки содержитsetting.xml
настроить
существуетsetting.xml
Конфигурация выглядит следующим образом:
<server>
<id>maven_nexus_repo</id>
<username>username</username>
<password>password</password>
</server>
этоid
Настройка сзадиpom.xml
будет использоваться, когдаdeploy
При работе он основан наid
имя от этогоsetting.xml
Извлеките имя пользователя и пароль для проверки разрешения на загрузку.
настроить pom.xml
Связанныйxml
Конфигурация и загрузка будут провереныdoc jar
,source jar
Пакет конфигурации плагина , был вставлен ниже, следует отметить, чтоlicenses
,developers
,scm
Несколько нод в процессе компиляции и загрузки не требуются, но когда билд будет выпущен, он будет проверен, а если его нет, то проверка завершится неудачно, поэтому лучше выполнить ее с самого начала.
Загрузка очень простая, прямаяmvn deploy
Хорошо, если этоidea
,существуетmaven
панели инструментов, выберите соответствующий пункт для выполненияdeploy
просто работай
Уведомление: Если соответствующий пакет jar не может быть загружен в процессе компиляции, необходимо посмотреть, куда загружается загруженный jar.repo1.maven.org
Этот центральный склад, мы должны обратить внимание наhttp
ещеhttps
, если окажется, что это http, то его необходимо изменитьsetting.xml
Внутри ссылки на репозиторий вhttp
дляhttps
,потому чтоmaven.org
http больше не поддерживается.
<modelVersion>4.0.0</modelVersion>
<groupId>com.tennetcn.free</groupId>
<artifactId>think-swagger-ui-starter</artifactId>
<packaging>jar</packaging>
<version>0.0.4</version>
<description>swagger-ui</description>
<url>https://github.com/chfree/think-free-base</url>
<licenses>
<!-- MIT许可证 -->
<license>
<name>MIT License</name>
<url>http://www.opensource.org/licenses/mit-license.php</url>
</license>
<!-- Apache许可证 -->
<!-- <license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license> -->
</licenses>
<developers>
<developer>
<name>chfree</name>
<email>chfree365@qq.com</email>
<url>http://www.tennetcn.com</url>
</developer>
</developers>
<scm>
<tag>master</tag>
<connection>https://github.com/chfree/think-free-base</connection>
<developerConnection>https://github.com/chfree</developerConnection>
<url>https://github.com/chfree/think-free-base/tree/master/think-swagger-ui-starter</url>
</scm>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<!-- 要生成Javadoc和Source jar文件,您必须配置javadoc和源Maven插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 必须配置GPG插件用于使用以下配置对组件进行签名 -->
<!-- GPG -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<snapshotRepository>
<!-- 这个id需要在setting.xml中设置 -->
<id>maven_nexus_repo</id>
<name>maven_nexus_repo</name>
<!-- 这里的url就是Issue中回复的snapshots 的repo地址-->
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>maven_nexus_repo</id>
<name>maven_nexus_repo</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
</repository>
</distributionManagement>
</profile>
</profiles>
Компонентные складские операции
Когда все загрузки будут обработаны, вам необходимо войти в систему по адресу выпуска сборки, потому что теперь все операцииjar
Пакет выпускается в репозиторий кеша, и требуются последующие операции для его выпуска в официальный репозиторий, иначе он будет опубликован в официальном репозитории.search.maven.org
Ничего не могу найти в нем.
Адрес выпуска сборки:oss.sonatype.org/#welcome
Имя пользователя и пароль — это имя пользователя и пароль, примененные на первом этапе.
После входа в систему слева есть несколько меню, вStaging Respositories
Ниже вы можете увидеть наш последний кешjar
список, выберите соответствующие данные, нажмите на панели инструментов вышеclose
, сначала отключите состояние кеша. подождите некоторое время, обновите текущую запись, запись неopen
После этого можно поставить галочкуrelease
.
Если загруженоjar
Не соответствует спецификации, как правило, не стандартизирован или не в пом.doc jar
,source jar
д., и будетclose
Будут предложены соответствующие исключения, нам нужно только разрешить соответствующие исключения для повторной загрузки, в настоящее время нет необходимости изменять номер версии.
когда ты сделалrelease
После этого вы получите электронное письмо на адрес электронной почты зарегистрированной учетной записи, в котором сообщается, что выпуск прошел успешно, но вsearch.maven.orgискал в2小时
о. Но в принципе пройти можноpom
скачать вашjar
.