实战Java发包到远程maven仓库

一、前言

Maven是一个Java项目的管理和构建工具,Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。

Maven中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。中央仓库包含了绝大多数流行的开源Java构件,当我们需要使用某个构建功能时,我们只需要在pom文件引入其maven坐标即可。

本文我们讲解如何把自己的jar发布到maven中央仓库里面,供外网其他用户使用。

注册Sonatype账号

登录 https://issues.sonatype.org/secure/Signup!default.jspa 注册一个账号

创建一个issue

菜单栏->Create 弹出创建界面,Project选择Community Support - Open Source Project Repository Hosting (OSSRH) 。Issue Type选择 New Project。Group Id填写maven坐标的Group Id。

注意:申请一个Group Id后,就可以发布不同的artifactId对应的jar。

发包

安装 gpg

brew install gnupg

创建并查看自己的 key

gpg --gen-key # 创建自己的key

gpg --list-secret-keys # 查看自己的key

推送key到签名服务器

gpg --keyserver keys.gnupg.net --send-keys xxxxx gpg --keyserver keys.gnupg.net --recv-keys xxxxx gpg --keyserver keyserver.ubuntu.com --send-keys xxxxx gpg --keyserver keyserver.ubuntu.com --recv-keys xxxxx

配置pom文件

在要发布的包的pom文件里面,添加如下插件:

 
      
        nexus-staging-maven-plugin
        
          true
          https://s01.oss.sonatype.org/
          ossrh
        
        true
        org.sonatype.plugins
        1.6.7
      
      
        maven-compiler-plugin
        
          UTF-8
          1.8
          1.8
        
        ${maven-compiler-plugin.version}
      
      
        maven-resources-plugin
        
          UTF-8
        
        ${maven-resources-plugin.version}
      
      
        maven-source-plugin
        
          
            
              jar
            
            attach-sources
          
        
        ${maven-source-plugin.version}
      
      
        maven-surefire-plugin
        
          true
        
        org.apache.maven.plugins
        ${maven-surefire-plugin.version}
      
      
        maven-jar-plugin
        
          
            
              true
            
          
        
        org.apache.maven.plugins
        ${maven-jar-plugin.version}
      
      
        maven-javadoc-plugin
        
          UTF-8
          UTF-8
          UTF-8
          
            http://docs.oracle.com/javase/8/docs/api
          
          public
        
        
          
            
              jar
            
            attach-javadoc
          
        
        org.apache.maven.plugins
        ${maven-javadoc-plugin.version}
      
      
        maven-gpg-plugin
        
          
            
              
                --pinentry-mode
                loopback
              
            
            
              sign
            
            sign-artifacts
            verify
          
        
        org.apache.maven.plugins
        ${maven-gpg-plugin.version}
      
    

执行发布命令

切换到要发的包的目录,执行:mvn clean deploy -Dgpg.passphrase=自己的gpg的密码

等待发布完毕,一般情况下24小时后,会在https://mvnrepository.com/repos/central搜到自己的包。

参考

1. https://mvnrepository.com/artifact/com.larksuite.oapi/larksuite-oapiNexus Repository Managerhttps://central.sonatype.org/publish/publish-maven/#distribution-management-and-authentication 2. https://maven.apache.org/plugins/maven-gpg-plugin/usage.html

展开阅读全文

页面更新:2024-05-02

标签:仓库   构件   其他用户   坐标   标的   前言   账号   实战   中央   文件   项目

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top