【Maven】Jar发布到maven中心仓库的步骤

创建工单

登录网址:https://issues.sonatype.org
如果还没有账号,需要先注册一个账号。

⚠️ 如果你已经拥有该group id,则可跳过该步骤,不需要再去创建工单。
参考Spring Boot的库,都是发布在同一group id下面的。 <groupId>org.springframework.boot</groupId>

GPG环境

我们需要一个GPG环境,用来对上传的文件进行加密和签名,保证你的jar包不被篡改,下载地址:
windows: https://www.gpg4win.org/
mac os: https://www.gpg4win.org/get-gpg4win.html

MAVEN_HOME/conf/setting.xml

<servers>
   <server>
      <id>sonatype-nexus-staging</id>
      <username>JIRA账号</username>
      <password>JIRA密码</password>
   </server>
</servers>

源码pom.xml

<licenses></licenses>
<scm></scm>
<developers></developers>

<profiles>
  <profile>
    <id>sonatype-oss-release</id>
	<build>
			<plugins>
			<!-- Source,用来生成Source Jar文件 -->
			<artifactId>maven-source-plugin</artifactId>
			<!-- Javadoc,用来生成 javadoc 文档 -->
			<artifactId>maven-javadoc-plugin</artifactId>
			<!-- Gpg Signature,用来对工程文件进行自动签名 -->
			<artifactId>maven-gpg-plugin</artifactId>
			<!-- Nexus Staging Maven,用来将工程发布到中央仓库 -->
			<artifactId>nexus-staging-maven-plugin</artifactId>
		</plugins>
	</build>
  </profile>
</profiles>

<distributionManagement>
  <snapshotRepository>sonatype-nexus-snapshots</snapshotRepository>
  <repository>sonatype-nexus-staging</repository>
</distributionManagement>

mvn发布

# 不执行单元测试,也不编译 ,GPG证书有设置密码
mvn clean deploy -P sonatype-oss-release -Darguments="gpg.passphrase=hello1234." -Dmaven.test.skip=true

# 不执行单元测试,也不编译,GPG证书没有设置密码
mvn clean deploy -P sonatype-oss-release -Dmaven.test.skip=true

正式发布

使用步骤一注册的Jira账号,登录:https://oss.sonatype.org

去各大仓库查看结果

https://repo.maven.apache.org/maven2/

https://mvnrepository.com/

QA

如何删除已经发布到 mavenCentral 中的包?

只能重新发一个新版本,但是对于已经发布的版本,不能修改或删除。
优快云 - 如何删除已经发布到 mavenCentral 中的包

Deploy成功后,各大Maven仓库不能搜索到对应的软件/版本?

Deploy成功,nexus可以搜索到相应版本,其他Maven仓库不能搜索到相应版本。

  • 可能情况一:各大Maven仓库从nexus数据同步存在时间差,需要多等待一段时间。
  • 可能情况二:仅仅只Deploy到<snapshotRepository>,未Deploy到<repository>
  • 可能情况三:pom.xml设置的<version>是以SNAPSHOT结尾的,如:1.0-SNAPSHOT

参考

知乎 - 发布Jar包到Maven仓库(为开发开源中间件做准备)

知乎 - Jar发布到maven中心库 京东数字科技集团 软件研发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值