fasionchan

读万卷书,行万里路,品万味肴,撸万行码。

Sonatype

注册账号

首先,需要在Sonatype注册一个账号:Sonatype注册

创建新项目

然后,新建一个项目:新建项目

生成GPG签名

1
gpg --gen-key

根据提示填写所需信息,最后生成一个KEY,输出类似这样:

1
2
3
...
gpg: key YOUR_KEY_ID marked as ultimately trusted
...

发布公钥

1
gpg2 --keyserver hkp://pool.sks-keyservers.net --send-keys <YOUR_KEY_ID>

可以发布多几个服务器以加快访问速度:pgp.mit.edukeyserver.ubuntu.com等。

修改项目pom.xml

加入parent节继承org.sonatype.oss,获得一些与发布相关的功能:

1
2
3
4
5
<parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>9</version>
</parent>

加入distributionManagement节,定义发布位置:

1
2
3
4
5
6
7
8
9
10
<distributionManagement>
    <snapshotRepository>
        <id>sonatype-oss</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
        <id>sonatype-oss</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
</distributionManagement>

修改~/.m2/settings.xml

加入server节,填写sonatype账号信息:

1
2
3
4
5
6
7
<servers>
    <server>
        <id>sonatype-oss</id>
        <username>fasionchan</username>
        <password>xxxx</password>
    </server>
</servers>

加入profile节,填写gpg密钥信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
<profiles>
    <profile>
        <id>sonatype-oss-release</id>
        <properties>
            <gpg.keyname>82AD5A42A735C939</gpg.keyname>
            <gpg.passphrase>xxxx</gpg.passphrase>
            <gpg.defaultKeyring>true</gpg.defaultKeyring>
            <gpg.useagent>true</gpg.useagent>
            <gpg.lockMode>never</gpg.lockMode>
            <gpg.homedir>/Users/fasion/.gnupg</gpg.homedir>
        </properties>
    </profile>
</profiles>

发布

最后,大功告成,运行mvn命令进行发布:

1
mvn deploy

Comments