将jar发布到远程仓库

傻男人 1年前 ⋅ 834 阅读

将jar发布到远程仓库

准备的工作

注册账号

网站 注册一个账号

创建工单

  • 1 用注册的账号登录,点击创建

Image text

  • 2 创建工单

Image text

  • 3 等待响应(一般情况在1个小时之内就会有回复)
    • 可能出现的问题的处理方式
      1. groupId为私有域名的方式:验证域名是否属于自己

        处理的方式:在域名解析的页面,添加DNS解析文本的格式,内容为工单号 查询是否配置成功: nslookup -q=TXT 域名地址

      2. git地址的方式:需要在github上面建立一个与groupId同名的项目

使用GPG 生成密钥对

安装

window的方式

官网下载Gpg4win ,直接安装

网盘下载 提取码:ou4c

Linux的方式

yum install gpg

验证是否安装成功

``gpg --version```

生成密钥对

  • 执行命令: gpg --gen-key
  • 在命令窗口中按提示继续输入 Real name与Email address
  • 根据提示输入大写O确认无误
  • 然后弹出一个输入密码的对话框,请务必记住该密码

查看公钥

gpg --list-keys

将公钥发布到 PGP 密钥服务器(需分开执行)

gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 上一步生成的公钥
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 上一步生成的公钥

检查是否发布成功(需分开执行)

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 上一步生成的公钥
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 上一步生成的公钥

发布到maven私服

maven配置

pom配置

在pom中的添加证书信息
<licenses>
    <license>
        <name>The Apache Software License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
    </license>
</licenses>
pom中添加邮件列表的信息
<mailingLists>
    <mailingList>
        <name>xxxx</name>
        <post>244191347@qq.com</post>
    </mailingList>
</mailingLists>
pom中添加开发者信息的信息
<developers>
    <developer>
        <id>xxx</id>
        <name>xxxx</name>
        <email>244191347@qq.com</email>
        <url>http://andoudou.top</url>
    </developer>
</developers>
pom中添加SCM的信息
<!--SCM(Source Control Management)标签允许你配置你的代码库,供Maven web站点和其它插件使用。 -->
<scm>
    <url>https://gitee.com/anjingsi/doudou_tool</url>
    <connection>https://gitee.com/anjingsi/doudou_tool.git</connection>
    <developerConnection>http://andoudou.top</developerConnection>
</scm>
pom中添加profiles中的profile的信息
profile中添加properties 指定gpg加密路径与密码
<properties>
    <gpg.executable>gpg本地安装的路径,如F:\GnuPG\bin\gpg</gpg.executable>
    <gpg.passphrase>gpg的密码</gpg.passphrase>
</properties>
profile中添加build
<build>
    <plugins>
        <!-- Source -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.2.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- Javadoc -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9.1</version>
            <configuration>
                <additionalparam>-Xdoclint:none</additionalparam>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- GPG  打包插件-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <goals>
                        <goal>sign</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
profile中添加distributionManagement的仓库配置
<distributionManagement>
    <snapshotRepository>
        <id>oss</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
        <id>oss</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
</distributionManagement>

maven私服官网的操作


全部评论: 0

    我有话说: