发布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
1
mvn 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