最新SpringBoot上传Maven中央仓库,在其他项目直接引入依赖(github开源项目打包上传,不需要私服)

方式(条件)如下

github

maven/idea

gpg

1、要有github账号

https://github.com/

2、使用github进行登录中央仓库

https://central.sonatype.com/

登录

使用github登录

  • 按照提示登录完成后进行选择Namespaces

  • 创建完namespace属于未验证状态,只有验证状态的namespace才可以发布jar。后面有个验证按钮,正常验证即可

  • 可以看到自己的namespaces

  • 到时候引入pom如下

    <dependency> <groupId>io.github.weibanggang</groupId> <artifactId>你的项目xxx</artifactId> <version>你的发布版本</version> </dependency>

3、下载GPG

https://gnupg.org/download/index.html

安装好后进行cmd生成key,等会maven的settings配置文件要用到

生成GPG密码完成继续

4、maven配置文件配置( settings.xml)

先创建账号密码,创建完成后使用

settings.xml加入以下信息

复制代码
  <servers>
    <server>
      <id>gpg</id>
      <username>生成的账号</username>
      <password>生成的密码</password>
    </server>
  </servers>
  <profile>
    <id>gpg</id>
    <properties>
       <!--这里是gpg的路径-->
      <gpg.executable>C:/Program Files (x86)/GnuPG/bin/gpg.exe</gpg.executable>
      <gpg.passphrase>gpg生成的密码</gpg.passphrase>
    </properties>
  </profile>
</profiles>
<activeProfiles>
  <activeProfile>gpg</activeProfile>
</activeProfiles>

5、发布POM必备

复制代码
    <distributionManagement>
        <snapshotRepository>
            <id>gpg</id>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>gpg</id>
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
        <plugins>
            <!-- 编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>

            <!-- 源码包 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- javadoc 包 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.5.0</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>17</source>
                    <docencoding>UTF-8</docencoding>
                    <charset>UTF-8</charset>
                    <failOnError>false</failOnError>
                    <failOnWarnings>false</failOnWarnings>
                    <quiet>true</quiet>
                    <additionalJOption>--enable-preview</additionalJOption>
                    <additionalJOption>-Xdoclint:none</additionalJOption>
                    <additionalJOption>-Xdoclint:all,-missing</additionalJOption>
                    <additionalJOption>-Xdoclint:none</additionalJOption>
                    <additionalJOption>-quiet</additionalJOption>
                    <additionalJOption>-noqualifier</additionalJOption>
                    <additionalJOption>all</additionalJOption>
                    <additionalJOption>-Xdoclint:all,-missing,-accessibility</additionalJOption>
                    <additionalJOption>-Xdoclint:none</additionalJOption>
                    <additionalJOption>-Xdoclint:all,-missing,-accessibility,-syntax,-reference</additionalJOption>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            <!-- GPG -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.6</version>
                <configuration>
                    <!-- 改成你自己的路径 -->
                    <executable>C:/Program Files (x86)/GnuPG/bin/gpg.exe</executable>
                </configuration>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- 生成校验文件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>3.1.3</version>
                <configuration>
                    <createChecksum>true</createChecksum>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>0.4.0</version>
                <extensions>true</extensions>
                <configuration>
                    <!-- 这里的serverId是之前在本地settings.xml中配置的<server><id>标签值(上述三(1)步骤) -->
                    <publishingServerId>gpg</publishingServerId>
                    <tokenAuth>true</tokenAuth>
                </configuration>
            </plugin>

            <!-- 校验文件生成插件 -->
            <plugin>
                <groupId>net.nicoulaj.maven.plugins</groupId>
                <artifactId>checksum-maven-plugin</artifactId>
                <version>1.11</version>
                <executions>
                    <execution>
                        <id>create-checksums</id>
                        <phase>package</phase>
                        <goals>
                            <goal>artifacts</goal>
                        </goals>
                        <configuration>
                            <algorithms>
                                <algorithm>MD5</algorithm>
                                <algorithm>SHA1</algorithm>
                            </algorithms>
                            <attachChecksums>true</attachChecksums>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

最后使用idea进行

发布完成后

去发布即可

相关推荐
fly-phantomWing8 小时前
Maven的安装与配置的详细步骤
java·后端·maven·intellij-idea
梦想blog10 小时前
搭建 Nexus3 私服并配置第三方 Maven 仓库(阿里云等)和优先级
maven·proxy·私服·aliyun·nexus3·settings.xml
学编程的小鬼11 小时前
SpringBoot 自动装配原理剖析
java·spring boot·后端
CoderJia程序员甲11 小时前
GitHub 热榜项目 - 日榜(2025-10-01)
ai·开源·github·ai编程·github热榜
码事漫谈11 小时前
SIMD编程入门:让性能飞起来的实践指南
后端
码事漫谈11 小时前
从汇编角度看C++优化:编译器真正做了什么
后端
@@神农12 小时前
maven的概述以及在mac安装配置
java·macos·maven
老葱头蒸鸡13 小时前
(28)ASP.NET Core8.0 SOLID原则
后端·asp.net
weixin_5112228013 小时前
GameObject 的 conditionID1 值在 PlayerCondition.db2 中找不到相应记录的问题原因分析
开源
老华带你飞13 小时前
机电公司管理小程序|基于微信小程序的机电公司管理小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·微信小程序·小程序·机电公司管理小程序