将java开源的项目发布到maven中心仓库 maven项目
2017-09-02 本文已影响115人
任重而道元
自己想写一个java的工具类,将常用的一些工具全部放在里面,并且持续的更新迭代,我是一直使用的maven项目构建的系统,所有我想把我的项目放在maven仓库中,这样以后使用起来会方便的多。
注册sonatype账号
注册地址: https://issues.sonatype.org
注册完成,主界面如下:
![](https://img.haomeiwen.com/i671576/0b4036762fe6bce7.png)
注册的个人信息(避免下次自己忘记用户名...),如下:
![](https://img.haomeiwen.com/i671576/4638ce3564ececb9.png)
提交发布申请
![](https://img.haomeiwen.com/i671576/e66483293fb7413a.png)
![](https://img.haomeiwen.com/i671576/aad888711bb212c1.png)
生成key
如果是使用的windows,可以下载gpg4win,地址:https://www.gpg4win.org/download.html
gpg --gen-key
![](https://img.haomeiwen.com/i671576/1619027a904e264d.png)
![](https://img.haomeiwen.com/i671576/04753f7ed2906380.png)
![](https://img.haomeiwen.com/i671576/4462d1e440e5e437.png)
保存key
# 查看生成的key
gpg --list-keys
根据路径,将pubring.gpg保存到网盘之类的东西,以后需要上传的时候需要该key
![](https://img.haomeiwen.com/i671576/cf7ccb77018eaeb8.png)
设置maven配置
1.设置项目的pom.xml
在项目中,添加如下
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
并增加Licenses、SCM、Developers信息
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<tag>master</tag>
<url>git@github.com:ToolUtils/wechat.git</url>
<connection>scm:git:git@github.com:ToolUtils/wechat.git</connection>
<developerConnection>scm:git:git@github.com:ToolUtils/wechat.git</developerConnection>
</scm>
<developers>
<developer>
<name>lidy</name>
<email>863805933@qq.com</email>
<organization>ToolUtils</organization>
</developer>
</developers>
我的项目配置pom.xml如下(可以借鉴一下):
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.ToolUtils</groupId>
<artifactId>wechat</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>wechat</name>
<description>tools for wechat devtool</description>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<tag>master</tag>
<url>git@github.com:ToolUtils/wechat.git</url>
<connection>scm:git:git@github.com:ToolUtils/wechat.git</connection>
<developerConnection>scm:git:git@github.com:ToolUtils/wechat.git</developerConnection>
</scm>
<developers>
<developer>
<name>lidy</name>
<email>863805933@qq.com</email>
<organization>ToolUtils</organization>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
</dependencies>
</project>
2.最后修改Maven的setting.xml配置文件
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>Sonatype网站的账号</username>
<password>Sonatype网站的密码</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>Sonatype网站的账号</username>
<password>Sonatype网站的密码</password>
</server>
</servers>
部署和发布jar包
1.部署jar包,如果失败可以重试几次,或者翻墙,有时候会因为网络差而部署失败。
mvn clean deploy -P sonatype-oss-release -Darguments='gpg.passphrase=设置gpg设置密钥时候输入的Passphrase'
2.上传到第三方的key验证库
$ gpg --list-keys
/c/Users/iteblog/.gnupg/pubring.gpg
---------------------------------------
pub 2048R/B15C5AA3 2016-09-19
uid iteblog (flink-elasticsearch-connector) <wyphao.2007@163.com>
sub 2048R/31A906E1 2016-09-19
iteblog@iteblog MINGW64 /d/work/flink-elasticsearch2-connector (master)
$ gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys B15C5AA3
gpg: sending key B15C5AA3 to hkp server keyserver.ubuntu.com
3.到sonatype的构件仓库https://oss.sonatype.org/#stagingRepositories中,查看上传的jar包
在列表中,选择最下方的最新上传的jar包,然后选择close按钮,最后填写一下 jar包说明,然后点击提交。
当这步执行完之后,构件将会自动删除,并经过几小时后便可以在Maven中央仓库搜索到。
4.到中央仓库下查找上传的jar包 (http://search.maven.org)
5.升级Jar包
我们开发的Jar包在后面可能需要更新,比如从1.0.1版本升级到1.0.2版本。升级Jar包比初次发布的步骤简单的多,我们只需要更新项目工程代码,并修改pom.xml文件里面的版本号,最后重新执行上面的部署和发布Jar包步骤即可。