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

发布于:2025-08-15 ⋅ 阅读:(16) ⋅ 点赞:(0)

方式(条件)如下

github

maven/idea

gpg

1、要有github账号

https://github.com/

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

https://central.sonatype.com/

登录

image

 使用github登录

image

  • 按照提示登录完成后进行选择Namespaces
  • 创建完namespace属于未验证状态,只有验证状态的namespace才可以发布jar。后面有个验证按钮,正常验证即可
  • 可以看到自己的namespaces
  • 到时候引入pom如下
<dependency>
    <groupId>io.github.weibanggang</groupId>
    <artifactId>你的项目xxx</artifactId>
    <version>你的发布版本</version>
</dependency>

image

 3、下载GPG

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

image

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

image

 生成GPG密码完成继续

image

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

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

image

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

 image

image

 发布完成后

image

 去发布即可

image


网站公告

今日签到

点亮在社区的每一天
去签到