Home 发布个人开源项目到maven仓库
Post
Cancel

发布个人开源项目到maven仓库

背景

对于个人开发的开源Java项目,光是放到github等代码托管网站上仍然是不够的。 比较友好的方式应该将项目发布到maven仓库,在README中告诉用户如何引入项目依赖。 这件事情本身也是属于做过则知道,不做不清楚。本文就这其中过程作整理与介绍。

流程

由于是对公众开放开源项目,所以一般选择发布到maven中央仓库。

准备工作

  1. 首先,需要注册一个Sonatype JIRA账号,如果没有的话,点击注册

  2. 提交项目申请,点击申请

注意:第2步的提交申请过后,需要等待ISSUE状态变为RESOLVED,一般最多需要两个工作日,短的话可能几分钟就搞定了,这一步的时间通常取决于项目的groupId是什么。对于像是项目托管网站+用户名那种,通常会比较快。其他的一些的话往往会人工审查是否具有域名所属权。

发布

发布的流程在官方网页上也有讲述,这里简要描述下,可供参考。

POM配置

在POM里加上repository信息

1
2
3
4
5
6
7
8
9
10
 <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
</distributionManagement>

配置~/.m2/settings.xml文件,在servers组里边加上,注意这里面server下的id需要与项目POM中snapshotRepositoryrepositoryid保持一致。

1
2
3
4
5
6
7
8
 <servers>
   <server>
     <id>ossrh</id>
     <username>你的JIRA账号</username>
     <password>你的JIRA密码</password>
   </server>
 </servers>

SNAPSHOT

发布SNAPSHOT比较简单,如上配置完毕后,直接运行

1
mvn clean deploy

即可。需要注意,发布SNAPSHOT的话,版本不会同步到中央仓库。对于需要依赖发布的SNAPSHOT的项目,需要在POM里面配上https://oss.sonatype.org/content/repositories/snapshots这个repository。

发布成功的SNAPSHOT版本可以在快照仓库找到。为了找的快一些,可以直接在网页后缀上加上groupId

正式版本

1
mvn clean deploy -P release

最后的工作

在成功之后,可以在maven中央仓库中找到你的artifact

This post is licensed under CC BY 4.0 by the author.
Contents

MySQL执行计划总结

实现TOLock过程中的一处多线程bug