pom.xml文件修改完毕后,现在进行其他准备。如果还没修改pom那么请参阅该系列的第一篇。
1. 生成为软件数字签名所需的key。这里用到的工具是GPG。这个工具在Git Bash和Linux中可以直接运行。否则可以到这里下载。
GPG准备好以后,可以运行:
gpg --gen-key
出现如下提示后输入1:
在如下提示后输入想要的KEY的位数,没有特别需要的话直接回车也可以:
接着会出现询问KEY的有效期,默认这是0,也就是说永远不过期:
接着输入y并回车确认永久有效。然后会出现下面的提示,要求输入你的真实姓名:
根据提示输入姓名,邮箱和备注后,然后会提示输入用来保护密钥的密码(passphrase),如果不需要密码的话直接回车,如果输入了密码那么一定要记住,这个密码在后面会用到。接下来系统会要求你输入一些随机字符,在键盘的字母和符号上乱按就可以了,不过别按回车。
生成成功以后会出现信息:
public and secret key created and signed
要查看现有的公钥,输入:
gpg --list-keys输出的格式是这个样子的:
pub 2048R/8743ASD9 2013-11-12 uid 姓名 (备注) <邮箱> sub 2048R/874234DA 2013-11-12pub代表的是公钥。旁边2048R代表生成的位数,斜杠后面的字符串就是这个key的ID。 类似地,查看私钥,输入:
gpg --list-secret-keys而输出格式也类似:
sec 2048R/8743ASD9 2013-11-12 uid 姓名 (备注) <邮箱> sub 2048R/874234DA 2013-11-12为了保险起见,最好备份私钥:
gpg --export -a 私钥ID > private_key.asc这样密钥就保存起来了。以后要重新导入的话只需要:
gpg --import private_key.asc2. 生成了key以后,按照Sonatype的要求,我们需要把公钥上传到服务器上。输入:
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 公钥ID这个服务器地址是Sonatype规定的,因此不需要修改。 3. 下一步,就要像Sonatype提出申请了。首先,要到 这里申请他们的Jira帐号。获得帐号以后,到 这里提交一个申请ticket。 Project要选 Support - Open Source Project Repository Hosting, Issue Type选 New Project。 再次提醒:groupId的写法非常重要,要么使用自己拥有的域名。要么使用项目托管的子域名,例如com.github.username。为了节省时间,如果使用的是自己拥有的域名,那么可以在description里写清楚,否则客服有可能会问,这样就一个来回就需要一个工作日了。 等客服帮你创建好了仓库,会把ticket改成Fixed并在上面加注释。 3. 修改settings.xml文件。这里主要是添加Sonatype的帐号信息,以便发布的时候使用。
<server> <id>portlettester-releases</id> <username>xxx</username> <password>xxx</password> </server>这里的id要和pom.xml文件里面<distributionManagement>的repository id对应,用户名和密码则是Sonatype的Jira帐号和密码。 上面这些都准备好以后,在下一篇里我们就要进入发布的正式流程了。请参阅: 上传利用GitHub管理的软件到Maven Central Repository之三