maven仓库怎么配置|如何发布maven项目到中央仓库
# 概述
用maven已经一段时间,也搭建了公司内部的maven环境。然而有一些通用的可以开源的代码想放到公网的仓库中,以便可以随时使用(公司网络因为经常切换,导致maven库常有无法导入的情况)。
# 注册Sonatype OSSRH
关于如何注册,我补充几点:
项目groupId怎么写?如果你是个人的名义,然后代码是放到github上面的(比如是https://www.github.com/username/projectName的格式),那么推荐groupId写成:com.github.username, 不然可能会被拒绝(我就是一开始没有写对,被拒绝了。。。)当project的status为RESOLVED时才算是ok,如下图所示# 修改pom.xml
账号注册完成,同时也创建了project后,就可以修改pom.xml了。
首先加入name,description,scm,developers等信息
<name>${project.groupId}:${project.artifactId}</name><url>https://github.com/0604hx/nerve-tools</url><description></description><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>0604hx</name> <email>zxingming@foxmail.com</email> <roles> <role>developer</role> </roles> <timezone>+8</timezone> </developer></developers><scm> <connection>scm:git:https://github.com/0604hx/nerve-tools.git</connection> <developerConnection>scm:git:https://github.com/0604hx/nerve-tools.git</developerConnection> <url>https://github.com/0604hx/nerve-tools</url> <tag>v${project.version}</tag></scm>
然后添加distributionManagement
<distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>ossrh</id> <name>Maven Central Staging Repository</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository></distributionManagement>
接着添加plugins
<plugins> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.3</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin></plugins>
# 修改maven的setting.xml
增加你的帐密信息
然后设置gpg的profile
此时要先安装gpg,详细的说明请看:http://central.sonatype.org/pages/working-with-pgp-signatures.html
# 执行mvn deploy
执行以下命令
mvn deploy -Dmaven.test.skip=true -e
等待结果即可。来个截图哈
如果deploy时出现以下错误
gpg: no default secret key: No secret key
则表示你没有创建secret key,此时创建key即可。
如果出现这样的错误:
No public key:Key with id
就说明你没有上传keys到公共服务器,上传就行了:
# 发布项目资源
上一步完成后,其实这是将我们的资源上传到oss.sonatype而已,我们还有将其真正地发布出去。步骤如下:
登录到oss.sonatype.com点击 Staging Repositories,可以看到我们刚刚上传的资源,如下图所示选中相应的资源|处于open状态),然后点击上方的“release”按钮,会弹出确认框,直接确认即可。
上一步成功后,就表示发布完成。此时去https://issues.sonatype.org(就是你一开始创建的issue)中留言,告诉管理员你已经release了。等审核通过后,就可以在中央仓库中搜索出你的项目(是不是很激动,很有成就感^_^)。
相关内容
-
苹果手机网速慢怎么办|教你配置DNS让网速飞起
苹果手机网速慢怎么办|教你配置DNS让网速飞起,网速,配置,苹果...
-
调整图片像素和大小的软件|如何自己用手机修改
调整图片像素和大小的软件|如何自己用手机修改证件照大小,证...
-
水印相机怎么修改时间和日期|可修改时间的水印
水印相机怎么修改时间和日期|可修改时间的水印相机哪个软件...
-
blender配置要求|blender入门使用教程
blender配置要求|blender入门使用教程,使用教程,配置,状态栏,...
-
电脑怎么修改图片分辨率|如何批量修改图片分辨
电脑怎么修改图片分辨率|如何批量修改图片分辨率,分辨率,批量...
-
电脑的配置都有什么|怎么查看电脑配置和型号
电脑的配置都有什么|怎么查看电脑配置和型号,查看,电脑配置,...
-
如何配置无线网络路由器|使用无线路由器的详细
如何配置无线网络路由器|使用无线路由器的详细步骤,无线路由...
-
dns地址配置错误怎么修复|找不到服务器或dns错
dns地址配置错误怎么修复|找不到服务器或dns错误怎么解决,错...
-
组装电脑需要哪些配置|组装一台电脑最佳方案
组装电脑需要哪些配置|组装一台电脑最佳方案,组装,方案,配置,...
-
webpack优化配置|webpack入门基础知识
webpack优化配置|webpack入门基础知识,加载,刷新,网页,文件,...
-
怎么修改u盘的图标|如何给自己的U盘或磁盘添加
怎么修改u盘的图标|如何给自己的U盘或磁盘添加上的图片图标,...
-
如何修改苹果ID地址|苹果怎么更改电子邮件地址
如何修改苹果ID地址|苹果怎么更改电子邮件地址,更改,电子邮件...
-
webpack打包优化怎么做|vue webpack配置教程
webpack打包优化怎么做|vue webpack配置教程,怎么做,配置,教...
-
wow 4k需要什么显示器|4K显示器需要什么配置的
wow 4k需要什么显示器|4K显示器需要什么配置的主机,显示器,主...
-
dnf时装修改器|dnf神兽装扮怎么变成光翼天使装
dnf时装修改器|dnf神兽装扮怎么变成光翼天使装扮,装扮,天使,...