发布依赖到maven中央仓库

04-11 4693阅读 0评论

目录

前言

一.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

发布依赖到maven中央仓库 第1张

问题: 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.新建问题

点击 新建,英文的话应该是 create。发布依赖到maven中央仓库 第2张

 3.新建关键表单配置

项目选 Community Suppor t
问题类型选 New Project 

发布依赖到maven中央仓库 第3张

Group Id 有自己的域名可以填写自己的域名,没有域名的填写 io.github.${githubUsername},后面审批的时候会要求对此处填写的域名进行认证。我用的是 io.github ,有些文档讲的是用 com.github ,但是目前 com.github 已无效。我的 githubUserName 是g5zhu5896

发布依赖到maven中央仓库 第4张

Project URL 有填写github上的项目地址,如https://github.com/g5zhu5896/extension-parent

SCM url 填的是带git的地址,如https://github.com/g5zhu5896/extension-parent

发布依赖到maven中央仓库 第5张

 4.问题页面

新建完问题后会进入问题页面 https://issues.sonatype.org/browse/OSSRH-90104 OSSRH-90104 为 issue id ,issue id 会被用于后面的域名认证。也可以通过 问题->最近的问题 进入问题页面

发布依赖到maven中央仓库 第6张

 5.Group id 对应的 域名认证

用上面的 issue id 为名在自己的github上建一个临时且公开的仓库。通过这个临时仓库向 jira 证明这个 github 账号是自己的。(如果是用自己的域名作为Group id, 好像是需要配置一个 txt 文件给 jira 访问)
发布依赖到maven中央仓库 第7张

 二.gpg秘钥配置

1gpg下载

进入 gpg官网 下载gpg,此处我下载得是window版的。安装的时候一直下一步就好

发布依赖到maven中央仓库 第8张2.秘钥生成并发布

打开 gpg 可视化软件 Kleopatra。

点击 菜单栏->文件->New OpenPGP Key Pair
发布依赖到maven中央仓库 第9张

输入邮箱和名称,选择使用密码句保护生成的秘钥
发布依赖到maven中央仓库 第10张

输入密码,记住这里的密码,后面会用到。

 发布依赖到maven中央仓库 第11张

右键证书选中在服务器上发布

发布依赖到maven中央仓库 第12张

 提示成功后就完成了。

  三.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。

发布依赖到maven中央仓库 第13张

发布过程中会让输入生成Gpg秘钥时 设置的密码

发布依赖到maven中央仓库 第14张

 如果成功则过段时间(我是直接睡觉等隔天早上)就可以从maven 中央仓库拉取发布的jar包了


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,4693人围观)

还没有评论,来说两句吧...

目录[+]