将jar包发布到maven的公共仓库

1.去网站:https://central.sonatype.com/
  注册一个账号(用自己的邮箱注册)
  登陆后,点击 View Account 菜单(鼠标单击右上角登陆账号名,就会弹出一个菜单列表)
  进到 View Account 后,点击Generate User Token,生成包含一个用户名,一个密码的验证信息。如下:
  <server>
    <!--这个${server}也不知道是啥,在设置mavensettings.xml时,填central就行-->
    <id>${server}</id>
    <username>tPD2asaAc</username>
    <password>h5AjIfK89lZSDDccccAasd</password>
  </server>
2.到第一步登陆的网站的publishing-->namespaces页面:https://central.sonatype.com/publishing/namespaces
  添加一个命名控件,这里建议自己搞一个域名,添加一个二级域名的txt解析就行。这一步的主要目的是确立包的路径的唯一性。
3.下载Gpg,地址:https://gnupg.org/download/index.html
  进入下载页面后,往下翻一点,找到windows下载。
 

安装后,是一个叫Kleopatra的软件(软件图标是红色的),运行该软件。

3.1: 点击 [文件--->新建OpenPGP密钥对] 生成一个密钥对(生成的时候,如果勾上[使用密码保护生成的密钥],则后续打包或者发布时,就需要输入该密码哦)。

3.2: 找到生成的密钥对(也就是证书),右键查看细节,记住该密钥的指纹,后面会用到。

3.3: 右键密钥,然后选择【在服务器上发布】,相当于把公钥上传给keyserver.ubuntu.com(一个公钥服务器) 然后可以通过以下命令查询是否成功

4.在你mavensettings.xml中,添加2个东西。

4.1: server标签中的东西填第一步生成的usernamepasswordid标签不知道填啥,反正我填的central)。

4.2: profile标签中填你Gpg的安装路径(id标签不知道填啥,反正我填的central)。

5.项目的pom.xml文件中,配置或修改以下参数

5.1: 调整项目相关信息

5.2: 添加打包相关插件

<build>标签的<plugins>中,添加
<plugin>
    <!-- Source -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>2.2.1</version>
    <executions>
        <execution>
        <id>attach-sources</id>
        <phase>package</phase>
        <goals>
            <goal>jar-no-fork</goal>
        </goals>
        </execution>
    </executions>
</plugin>

<plugin>
    <!-- JavaDoc -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.9.1</version>
    <configuration>
        <charset>UTF-8</charset>
        <encoding>UTF-8</encoding>
    </configuration>
    <executions>
        <execution>
        <id>attach-javadocs</id>
        <phase>package</phase>
        <goals>
            <goal>jar</goal>
        </goals>
        </execution>
    </executions>
</plugin>

<plugin>
    <!-- GPG -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>1.5</version>
    <executions>
        <execution>
            <id>sign-artifacts</id>
            <phase>verify</phase>
            <goals>
                <goal>sign</goal>
            </goals>
            <configuration>
                <keyname>密钥的指纹</keyname>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <!-- central.sonatype.org的发布插件 -->
    <groupId>org.sonatype.central</groupId>
    <artifactId>central-publishing-maven-plugin</artifactId>
    <version>0.4.0</version>
    <extensions>true</extensions>
    <configuration>
        <publishingServerId>central</publishingServerId>
        <tokenAuth>true</tokenAuth>
        <autoPublish>true</autoPublish>
    </configuration>
</plugin>

<plugin>
    <!-- maven的打包插件,好像是用来指定一些基础信息,如java版本啥的,好像可以不加这个 -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <fork>true</fork>
        <verbose>true</verbose>
        <encoding>UTF-8</encoding>
        <showWarnings>true</showWarnings>
    </configuration>
</plugin>

<plugin>
    <!-- 简化项目版本发布的,不知道是啥 -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.5.1</version>
</plugin>

5.3: 加一下仓库地址

6.双击ideadeploy按钮,应该就ok了。

 

发布者:songJian   点击数:632   发布时间:2024-04-30 17:52:07   更新时间:2024-04-30 20:30:43
正在加载评论...
相关文章