您当前的位置: 首页 >  Java

彭世瑜

暂无认证

  • 1浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java:发布代码到Maven中央仓库sonatype

彭世瑜 发布时间:2020-07-31 23:11:49 ,浏览量:1

文章目录
    • 1. github上传代码
    • 2. sonatype新建账号
    • 3. sonatype提交发布申请
    • 4. 生成pgp公钥
    • 5. 配置settings.xml
    • 6. 配置pom.xml
    • 7. 发布

Maven项目上传公共仓库是我见过最麻烦的(相比npm和pypi)

文档:https://central.sonatype.org/pages/apache-maven.html

准备好maven项目 + Hello类

package com.mouday;

public class Hello {
    public void sayHello(){
        System.out.println("Hello");
    }
}

1. github上传代码

https://github.com/ eg: https://github.com/mouday/hello-package

2. sonatype新建账号

https://issues.sonatype.org/secure/Signup!default.jspa

3. sonatype提交发布申请

等待审核,状态变为RESOLVED已处理 eg: https://issues.sonatype.org/browse/OSSRH-59604

如果是自己的域名,需要认证

在这里插入图片描述

设置txt记录后可以进行检查

$ nslookup -q=txt ossrh-59604.mouday.com
ossrh-59604.mouday.com	text = "https://issues.sonatype.org/browse/OSSRH-59604"
4. 生成pgp公钥
# 查看gpg是否安装
gpg --version

# 生成key
gpg --gen-key

# 查询key
gpg --list-keys

# 公钥id发布到GPG服务器
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 

# 查询,可能需要等待一会
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 
5. 配置settings.xml

~/.m2/settings.xml




    
     
        
            ossrh
            OSSRH-USERNAME
            OSSRH-PASSWORD
        
    

    
        
            jdk-1.8
            
                true
                1.8
            

            
                1.8
                1.8
                1.8
                gpg
                GPG-PASSWORD
            
        
    


6. 配置pom.xml


    4.0.0

    com.mouday
    hello-package
    1.0

    hello-package
    https://github.com/mouday/hello-package
    a maven package demo for my first java

    
        
            The Apache Software License, Version 2.0
            http://www.apache.org/licenses/LICENSE-2.0.txt
            repo
        
    

    
        scm:https://github.com/mouday/hello-package.git
        scm:https://github.com/mouday/hello-package.git
        https://github.com/mouday/hello-package
    

    
        
            mouday
            pengshiyuyx@gmail.com
            mouday.com
            +8
        
    

    
        
            ossrh
            https://oss.sonatype.org/content/repositories/snapshots
        

        
            ossrh
            Nexus Release Repository
            http://oss.sonatype.org/service/local/staging/deploy/maven2/
        

    

    
        
            
                org.apache.maven.plugins
                maven-jar-plugin
                
                    
                        
                            jar
                            test-jar
                        
                    
                
            

            
            
                org.apache.maven.plugins
                maven-source-plugin
                
                    
                        attach-sources
                        
                            jar-no-fork
                        
                    
                
            

            
            
                org.apache.maven.plugins
                maven-javadoc-plugin
                
                    
                        -Xdoclint:none
                    
                
                
                    
                        attach-javadocs
                        
                            jar
                        
                    
                
            

            
            
                org.apache.maven.plugins
                maven-gpg-plugin
                
                    
                        sign-artifacts
                        verify
                        
                            sign
                        
                    
                
            
            
                org.sonatype.plugins
                nexus-staging-maven-plugin
                1.6.3
                true
                
                    ossrh
                    https://oss.sonatype.org/
                    true
                
            
        
    


7. 发布
mvn clean deploy

如果报错可查看解决方式:

signing failed: Inappropriate ioctl for device

过大概2个小时就能在仓库中搜索到自己发布的项目了

https://search.maven.org/ 在这里插入图片描述 第二天上午,我能在 https://mvnrepository.com/ 搜索到自己的项目了 在这里插入图片描述

等待很久之后,就可以在maven项目中使用了

 
     com.mouday
     hello-package
     1.0
 

好难…

参考

  1. 如何将自己的代码发布到Maven中央仓库?
  2. 记一次非Maven项目发布到中央仓库爬过的坑!
  3. 发布构件到 Maven 中央仓库遇到的坑
关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.1505s