发布Maven构件到中央仓库
文章目录
准备工作
GitHub上传项目
安装OpenGPG,通过GnuGPG来
创建一个公钥 记住Passphase
1
|
gpg --gen-key |
上传公钥
1 2 3 |
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys keyId
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys keyId |
查看是否上传成功
1 2 |
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys keyId gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys keyId |
配置Maven setting.xml
1 2 3 4 5 6 7
<servers> <server> <id>oss</id> <username>snoatype注册的用户名</username> <password>snoatype注册的密码</password> </server> </servers>配置项目pom
项目信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
licenses>
<license>
<name>The Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<name>binbean</name>
<email>******@gmail.com</email>
<roles>
<role>developer</role>
</roles>
<timezone>+8</timezone>
</developer>
</developers>
<scm> |
编译信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<!-- Source -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<!--
<version>2.2.1</version>
-->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<!--
<version>2.9.1</version>
-->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- GPG -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<!--
<version>1.5</version>
-->
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build> |
提交发布申请
创建一个issue
Project: Community support
Issue Type:➕New Project
Username:snoatype注册的用户名
其它信息如实填写
上传构件
会要求输入前面的passphrase
1mvn clean deploy -P release
在oss中发布构件
构建上传之后需要在OSS系统中对操作进行确认,将构件发布,进入https://oss.sonatype.org/使用你的用户名和密码登陆之后,在左边菜单找到“Staging Repositories”,点击,在右边上面一点有一个输入搜索框输入你的groupid进行快速定位,可以发现这时你的构件状态是“open”,勾选你的构件,查看校验的结果信息,如果没有错误就可以点击刚才勾选的checkbox上面右边一点的“close”按钮,在弹出框中“confirm”,这里又需要校验一次,稍后结果会通过邮箱通知。
等成功后(系统自动进行,很快的),再次登录系统找到你的构件,这是状态已经是“closed”的了,再次勾选,然后点击“close”旁边的“release”,在弹出框中进行“confirm”,稍后结果会通过邮件进行通知。
- 通知snoatype工作人员关闭issue
回复说明构建已经发布
1
|
I released the component had been successfully, please approval ,thanks. |
- 使用构件
一切完成后并不可以马上就使用你所发布的issue,得等系统将你的构件同步到中央仓库之后才可以使用,这个时间至少要2个小时,然后就可以在中央仓库的搜索页面(http://search.maven.org/)搜到啦
文章作者 binbin wen
上次更新 2018-06-05