概述
1. 注册 sonatype 账号,地址:https://issues.sonatype.org/
2. 登录 sonatype 创建项目,选择正确的类型
3. groupId介绍:
groupId 可以用github或者gitee, 格式:com.gitee.cn_yaojin 或者 io.github.yushan-yaojin ,其中 cn_yaojin或者 yushan-yaojin 是账号名。
4. 激活相关验证,以gitee为例(github一样),官方会回复一个话,大致如下:
图中的意思是,在gitee上建一个项目,名字:OSSRH-75628,该项目里面可以为空,但是权限设置为公共,意思是别人也可以访问,只要这个地址是通的就可以。配置好以后,回复一段话给官方,内容随便,比如我回复的:ok,it's work. 官方会验证这个链接是不是通的,主要证明cn_yaojin这个账号是我。
上图中,红色区域表示你可以上传jar到maven库了。
5. 安装GPG(上传到maven时候,需要做签名等),下载地址:https://www.gnupg.org/download/
6. gpg相关操作
# 1. 查看版本
gpg --version
# 2. 生成key,输入name、邮件地址、确认密码(确认密码需要输入2次),如下图所示:
gpg --gen-key
# 3. 查看公钥
gpg --list-keys
# 4. 发布公钥到服务器(公钥在上面 list-keys命令中查看),发布是否成功,一般在他的返回信息中你可以看明白
gpg --keyserver keyserver.ubuntu.com --send-keys 公钥
# 5. 查看是否发布成功(公钥在上面 list-keys命令中查看)
gpg --keyserver keyserver.ubuntu.com --recv-keys 公钥
7. springboot 的pom文件中加入配置:
<?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 很重要啊,要跟你的sonatype 中写的保持一致 -->
<groupId>com.gitee.cn_yaojin</groupId>
<artifactId>gateway-demo</artifactId>
<packaging>pom</packaging>
<version>1.0.0</version>
<modules>
<module>gateway</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<distributionManagement>
<!--公网maven中央库, sonatype 审核通过后,颁发的以下地址 -->
<snapshotRepository>
<id>oss</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>oss</id>
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
<!--本地maven 私有中央库-->
<!-- <repository>
<id>nexus-releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases</url>
</repository>-->
</distributionManagement>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<!--源码-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!--文档-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<show>private</show>
<nohelp>true</nohelp>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
</configuration>
<executions>
<execution>
<phase>package</phase>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!--gpg 发布到公网 maven中央仓库,需要做签名 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<!--开发者信息-->
<developers>
<developer>
<name>cn_yaojin</name>
<email>cn_yaojin@qq.com</email>
<url>https://gitee.com/cn_yaojin/gateway-demo.git</url>
</developer>
</developers>
<build>
<!--<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
<configuration>
<serverId>oss</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>-->
</build>
</project>
8. 注意,如果你的项目结构是这样的:
9. 发布到maven
# 在项目目录执行以下命令,会让你输入上文设置gpg公钥时候的那个确认密码,输入即可。
mvn clean deploy -P release
10. 进入nexus官方控制台:Nexus Repository Manager
点击close后,会进行校验,如果失败的话,会有提示,成功的话,release按钮会激活。如果某一项校验失败,会变成红颜色,点击他会显示具体的错误信息。
11. 以上都通过后,会受到邮件,然后在maven库里搜索到你的jar(当然,收到邮件也不代表maven库可以搜到,具体要多久,未知,可能很快)
最后
以上就是专注火车为你收集整理的maven 中央库发布的全部内容,希望文章能够帮你解决maven 中央库发布所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复