开通官方账号
这个分为两部分,一个是官方的Jira,一个是官方的仓库。前者用于提交issue开通仓库账号权限。
注册
先访问官方Jira,注册一个账号。
提交issue
在Jira首页点击新建,选择Community Support - Open Source Project Repository Hosting (OSSRH),不要选择Maven那个。
注意:GroupId 不能使用com.github.* 需要使用io.github.*
按照你项目的信息填写后,Jira会根据你issue填写的信息进行反馈
按照提示步骤操作
- 修改GroupId,这个GroupId可以和真正的代码中的package不一致,但是推荐一致。
- 代码库创建工单号对应的项目,用于验证代码库的归属真实性
- 把issue状态设置为Open
- 成功后,会有一个提示,告知仓库地址,这个地址要按照通知的来,不要看网上的
会告知你发布到各个仓库的时效,半小时可以在repo1.maven.org/maven2下载到jar包,4个小时到search.maven.org就可搜索到了。 - 然后就可以登录到这个仓库地址,可以直接将本地打好的jar包上传
- 注意需要上传.pom、.jar、source.jar 和javadoc.jar,同时需要进行签名
- 一般不推荐这样上传,可参考后续章节
准备工作
签名工具
下载Gpg4win,Gpg4win 的核心是GPG,并包括Kleopatra、GPA、GpgOL、GpgEX和Claws Mail 五个相关工具,其中Kleopatra 和GPA 是GPG 的密钥管理器,用于生成、导入和导出GPG 密钥(包括公钥和私钥)
打开Kleopatra,新建秘钥对,记住密码,后面要用
这个就可以暂时放在一边了。
配置Maven Setting.xml
- 添加一个server,输入之前在Jira注册的账号和密码,也是仓库的账号的密码。
- 添加一个profile,输入passphrase为刚才让你记住的那个密码
- OK
上传jar包
修改项目pom.xml
- 添加插件,生成源码包和javadoc包
- 添加gpg插件,用于签名
id是刚才setting里配置的gpg的id
打包过程中可能会弹出一个秘钥输入框,输入gpg秘钥对的那个密码 - 配置deploy的仓库地址,配置为之前提交问题后反馈的那个地址,可能会变化,不要看网上的,注意id和之前setting里配置的server的id要一致
- 执行deploy后,就会上传到发布仓库了
仓库管理
- 发布,登录仓库,后点击Staging Repositories,右边会列出你上传的文件,然后点击Release
- 有问题,下面会列出来,如果完全按上面步骤来,基本一次过
- 这步可以在pom中配置nexus-staging-maven-plugin来把打包、上传、发布一键操作
serverId就是刚才在setting文件中配置的server,nexusUrl就是仓库地址 - autoReleaseAfterClose配置为true,deploy就不需要在仓库中在操作部署了
- 快去试试吧。