最新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如下

    io.github.weibanggang 你的项目xxx 你的发布版本

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进行

发布完成后

去发布即可

相关推荐
葫芦和十三4 小时前
图解 MongoDB 11|慢查询排查闭环:从 Profile 到 explain 的分层路径
后端·mongodb·agent
葫芦和十三7 小时前
图解 MongoDB 09|explain 再读:从 queryPlanner 到 executionStats
后端·mongodb·agent
葫芦和十三7 小时前
图解 MongoDB 10|覆盖查询:让索引把活干完,根本不用回表
后端·mongodb·agent
大鸡腿同学9 小时前
从 CoT 思维链到 ReAct:智能 Agent 到底是怎么 “思考” 的?
后端
冬奇Lab9 小时前
每日一个开源项目(第140篇):AgentScope 2.0 - 阿里开源的生产级 Agent 框架
人工智能·开源·agent
冬奇Lab9 小时前
Skill 系列(04):Skill 指标体系——L1/L2/L3 三层监控,让质量下降有据可查
人工智能·开源·llm
IT_陈寒10 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
徐小夕11 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
SamDeepThinking11 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
Asize12 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端