发布依赖到maven中央仓库
目录
前言
一.jira
1.注册
2.新建问题
3.新建关键表单配置
4.问题页面
5.Group id 对应的 域名认证
二.gpg秘钥配置
1gpg下载
三.maven项目配置,也可以看官方文档
1.setting.xml
2.pom.xml
四.发布
前言
先讲下碰到的问题。后面再上具体流程
Group id有自己域名的配置自己域名,没有自己的域名的可以配置 io.github.${github用户名} ,后面审批的时候需要对Group id 对应的域名进行认证。网上有些教程让配置 com.github ,目前 com.github 已不可用。
问题:报错 Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.5:sign (sign-artifacts) on project -> 'gpg2' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
原因:可能是因为我安装的是window版,对应的命令是gpg 而不是gpg2,官网让配置gpg2
解决: setting.xml配置gpg.executable 改为 gpg。
问题: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar -> 乱码
原因:maven构建用的是utf-8
解决:Settings->Build->Build Tools->Maven->Runner->VM Options 配置为
-Dfile.encoding=GBK
问题: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar -> 错误: 未知标记: date
原因:java doc 没有 @date 的注释标记
解决:
方法1: java doc 插件添加自定义标记
org.apache.maven.plugins maven-javadoc-plugin 2.9.1 true date a 日期 attach-javadocs jar
方法2: 取消检查
org.apache.maven.plugins maven-javadoc-plugin 2.9.1 true -Xdoclint:none -Xdoclint:none attach-javadocs jar
一.jira
1.注册
进入 Sign up for Jira - Sonatype JIRA 注册一个账号,注册完可能会让选语言,我选的中文。
2.新建问题
3.新建关键表单配置
项目选 Community Suppor t
问题类型选 New Project
Group Id 有自己的域名可以填写自己的域名,没有域名的填写 io.github.${githubUsername},后面审批的时候会要求对此处填写的域名进行认证。我用的是 io.github ,有些文档讲的是用 com.github ,但是目前 com.github 已无效。我的 githubUserName 是g5zhu5896
Project URL 有填写github上的项目地址,如https://github.com/g5zhu5896/extension-parent
SCM url 填的是带git的地址,如https://github.com/g5zhu5896/extension-parent
4.问题页面
新建完问题后会进入问题页面 https://issues.sonatype.org/browse/OSSRH-90104 OSSRH-90104 为 issue id ,issue id 会被用于后面的域名认证。也可以通过 问题->最近的问题 进入问题页面
5.Group id 对应的 域名认证
用上面的 issue id 为名在自己的github上建一个临时且公开的仓库。通过这个临时仓库向 jira 证明这个 github 账号是自己的。(如果是用自己的域名作为Group id, 好像是需要配置一个 txt 文件给 jira 访问)
二.gpg秘钥配置
1gpg下载
进入 gpg官网 下载gpg,此处我下载得是window版的。安装的时候一直下一步就好
打开 gpg 可视化软件 Kleopatra。
点击 菜单栏->文件->New OpenPGP Key Pair
输入密码,记住这里的密码,后面会用到。
右键证书选中在服务器上发布
提示成功后就完成了。
三.maven项目配置,也可以看官方文档
1.setting.xml
注意此处 要根据实际情况配置,官网是配置gpg2,我配置的是gpg.
ossrh true gpg the_pass_phrase
把jira 账号和密码对应填入就好
ossrh jira 账号 jira 密码
2.pom.xml
下面的配置基本可以照搬,我是父子工程,我直接把下面配置配到父pom.xml
org.sonatype.plugins nexus-staging-maven-plugin 1.6.7 true ossrh https://s01.oss.sonatype.org/ true org.apache.maven.plugins maven-source-plugin 2.2.1 attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin 2.9.1 true date a 日期 attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin 1.5 sign-artifacts verify sign ossrh https://s01.oss.sonatype.org/content/repositories/snapshots ossrh https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
groupId应该要配置成申请jira 项目的时候配置的groupId,我没试过不配置能不能正常发布。
io.github.g5zhu5896
四.发布
我是直接maven deploy 就发布上去了,也可以用命令 mvn clean deploy。
发布过程中会让输入生成Gpg秘钥时 设置的密码
如果成功则过段时间(我是直接睡觉等隔天早上)就可以从maven 中央仓库拉取发布的jar包了
还没有评论,来说两句吧...