美文网首页
将java开源的项目发布到maven中心仓库 maven项目

将java开源的项目发布到maven中心仓库 maven项目

作者: 任重而道元 | 来源:发表于2017-09-02 20:33 被阅读115次

自己想写一个java的工具类,将常用的一些工具全部放在里面,并且持续的更新迭代,我是一直使用的maven项目构建的系统,所有我想把我的项目放在maven仓库中,这样以后使用起来会方便的多。

注册sonatype账号

注册地址: https://issues.sonatype.org

注册完成,主界面如下:

主界面

注册的个人信息(避免下次自己忘记用户名...),如下:

个人信息

提交发布申请

提交发布申请 发布申请通过

生成key

如果是使用的windows,可以下载gpg4win,地址:https://www.gpg4win.org/download.html

gpg --gen-key
生成过程-01 生成过程-02 设置密码

保存key

# 查看生成的key
gpg --list-keys

根据路径,将pubring.gpg保存到网盘之类的东西,以后需要上传的时候需要该key

Paste_Image.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包步骤即可。

相关文章

网友评论

      本文标题:将java开源的项目发布到maven中心仓库 maven项目

      本文链接:https://www.haomeiwen.com/subject/rubkdxtx.html