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

发布完成后

去发布即可

相关推荐
2***B44941 分钟前
Rust在系统编程中的内存安全
开发语言·后端·rust
U***e631 小时前
Rust错误处理最佳实践
开发语言·后端·rust
q***47181 小时前
Spring中的IOC详解
java·后端·spring
vx_vxbs661 小时前
【SSM电影网站】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·小程序·php·idea
码事漫谈2 小时前
C++小白最容易踩的10个坑(附避坑指南)
后端
码事漫谈2 小时前
性能提升11.4%!C++ Vector的reserve()方法让我大吃一惊
后端
AI分享猿2 小时前
Java后端实战:SpringBoot接口遇异常请求,轻量WAF兼顾安全与性能
java·spring boot·安全
稚辉君.MCA_P8_Java3 小时前
Gemini永久会员 Java中的四边形不等式优化
java·后端·算法
稚辉君.MCA_P8_Java3 小时前
通义 插入排序(Insertion Sort)
数据结构·后端·算法·架构·排序算法
q***69773 小时前
【Spring Boot】统一数据返回
java·spring boot·后端