Maven 发布上传jar到中央公共仓库教程

位置:首页>文章>详情   分类: 教程分享 > Java教程   阅读(911)   2023-08-21 22:29:44

1.注册中央仓库账号

打开 https://issues.sonatype.org/  注册一个账号。

账号注册
账号注册

填入你自己的账号注册信息即可。

2.创建issues

登录成功后在导航找到新建点击弹窗新建面板
操作示例图-1669532153295.png

 

填写简要说明
填写简要说明

问题类型:一定要选 New Project
Group ID 需要用自己域名的认证一下归属,也就是ddns解析认证。类似国内申请免费SSL证书流程。,使用github的可以直接用。具体参考https://central.sonatype.org/publish/requirements/coordinates/

其他信息根据项目来


issue创建完成后会等待管理人员审核。这个时间不会很久。这个时候我们可以先配置下本地环境。

3.本地申请GPG签名


gpg签名参考申请gpg签名-Maven上传jar到公共仓库-左搜 (leftso.com)
 

4. 配置maven setting.xml配置文件

打开setting.xml配置文件,在servers节点添加以下信息

	<!-- Maven公共仓库 -->
	<server>
		<id>maven-public</id><!-- 注意这个id名称,后面会用到 -->
		<username>中央仓库账号</username>
		<password>你的中央仓库账号密码</password>
	</server>

5.项目pom添加相关配置和组件

...其他内容...
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <swagger.ui.version>2.0.8</swagger.ui.version>
        <java.version>1.8</java.version>
        <springfox.version>2.10.5</springfox.version>
        <spring-plugin.version>2.0.0.RELEASE</spring-plugin.version>
        <skipTests>true</skipTests>
        <maven.javadoc.plugin.version>2.10.4</maven.javadoc.plugin.version>
        <maven-source-plugin.version>2.2.1</maven-source-plugin.version>
        <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
        <maven-compiler-plugin.version>3.6.2</maven-compiler-plugin.version>
    </properties>

...其他内容...
    <url>项目地址可以写gihub地址或者你的私人博客</url>
    <description>项目描述</description>
    <developers>
        <developer>
            <name>开发者名称(开发者可以有多个)</name>
            <email>开发者邮件</email>
        </developer>
    </developers>
    <!--协议许可-->
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>
    <!--仓库地址-->
    <scm>
        <connection>仓库地址</connection>
        <developerConnection>地址</developerConnection>
        <url>地址</url>
    </scm>
...其他内容...

<profiles>
        <!--maven center repository-->
        <profile>
            <id>maven-public</id><!--注意这里和上面步骤配置setting.xml里面的id保持一致-->
            <build>
                <plugins>
                    <!-- Javadoc -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>${maven.javadoc.plugin.version}</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Source -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>${maven-source-plugin.version}</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <!-- GPG -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven-gpg-plugin.version}</version>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <!-- sonatype release plugin autoRelease  -->
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.7</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>maven-center</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
            <distributionManagement>
                <!--oss-->
                <snapshotRepository>
                    <id>maven-center</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
                </snapshotRepository>
                <repository>
                    <id>maven-center</id>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
            </distributionManagement>
        </profile>
    </profiles>

 


配置完成后,刷新下maven项目,然后勾选上刚才的配置
配置

勾选配置后,点击deploy开始部署,部署过程会提示输入gpg签名的密钥,输入步骤3时候填入的签名即可。这个签名密码建议保存好,后面发布都需要。



至此maven发布jar到中央仓库完成。

 

2023 更新:

自2021年后,中央仓库开放地址做了调整修改为

https://s01.oss.sonatype.org/

一共有三处需要修改,注意!注意!!!!



 

 

地址:https://www.leftso.com/article/1107.html

相关阅读

1.注册中央仓库账号打开 https://issues.sonatype.org/  注册一个账号。账号注册 填入你自己的账号注册信息即可。2.创建issues 登录成功后在导航找到新建点击弹窗...
一、登录nexus​登录nexus3二、创建本地仓库(Repository)​nexus创建本地仓库点击Create repository,然后选择仓库类型为maven3(hosted)​nex...
一、maven私服上传自建的jar之项目的pom.xml文件配置 &lt;repositories&gtl;&lt;--私服下载配置--&gtl; &lt;repository&gtl...
一、admin登录到nexus3​admin登录到nexus3提示:这里密码当然是输入自己的哈二、创建某个库的管理员角色 下面将创建maven-my这个私有本地库的管理员角色​创建仓库maven...
在实际项目中可能存在一些特殊的jar包在maven仓库中没有,需要我们手动添加,本文主要讲解maven如何添加本地依赖jar包
java编程之maven打包Java source jar包
eclipse 构建maven项目,步骤详细易懂
Vert.x 入门教程通过maven shade plugin插件打包发布项目,上一篇文章,我们主要初步的了解了下eclipse vert.x是什么有什么用。当然一个程序编写完成后最终还是需要打...
环境Windows软件下载gpg4win和安装gpg4win通过网盘下载来支持我们,网盘地址:gpg4win-4.0.4.exe: (访问密码: 9987)或者官网下载地址 https://g...
spring boot 导入本地jar包spring boot maven 打war包时候导入本地jar包