`

如何将自己的jar包Release到Maven中央仓库中

阅读更多
PS:真正要发布到Maven中央库中是首先需要到https://issues.sonatype.org这里注册账号,新建一个issue,然后等待审核。审核通过后下一步就是等待你的release了,release的方式有好多种,其中有执行运行mvn命令的,但是那个命令结合gpg签名的时候中间会出现无限挂起的bug,我自己就遇到了,按照有关教程的说法要加个什么参数在pom中,但是还是没法解决,最后我就只能使用上传artifact为bundle的方式来release了。也就是下面说的这几个步骤。
 
  • 下载安装GPG工具,直到在cmd下运行下面命令,出现版本信息
  •     
         gpg --version

     
  • 生成属于你自己的签名,并发送到公开保存的服务器上,例如美国的那个XX大学
  •  
  • 关于GPG的可以参考这篇文章:http://terrychen.info/encryption-gpg4win
  •  
  • 也可以自己本机生成好key,然后提交到这个服务器来:http://pool.sks-keyservers.net:11371/
  •  
  • 下载安装Maven
  •  
  • 保证你的项目pom至少包含下面这些信息
  •     
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.sonatype.sample</groupId>
      <artifactId>sample-project</artifactId>
      <packaging>jar</packaging>
      <version>1.0</version>
      <name>sample-project</name>
      <description>A Sample Project for the Nexus Book</description>
      <url>http://books.sonatype.com</url>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
          <distribution>repo</distribution>
        </license>
      </licenses>
      <scm>
        <connection>
          scm:git:git://github.com/sonatype/sample-project.git
        </connection>
        <url>scm:git:git://github.com/sonatype/sample-project.git</url>
        <developerConnection>
          scm:git:git://github.com/sonatype-sample-project.git
        </developerConnection>
      </scm>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>


     
  • 然后在pom下添加这段插件
  • <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <version>1.4</version>
        <executions>
            <execution>
    	    <id>sign-artifacts</id>
    	    <phase>verify</phase>
    	    <goals>
    	        <goal>sign</goal>
    	    </goals>
    	</execution>
        </executions>
    </plugin>
    


     
  • 首先运行这个命令,然后按照提示输入你的gpg密码,这一步实际上已经将你的jar包和pom文件都签名了。
  • mvn clean install
    


     
  • 然后运行这个命令
  • mvn javadoc:jar source:jar repository:bundle-create
    


     
  • 如果遇到javadoc中文字符编码问题,请在后面加上 -Dencoding=utf-8 参数再运行该命令就没问题了
  •  
  • 然后进入到target目录
  •  
  • 然后执行这个命令,分别把javadoc.jar 和 sources.jar 打上自己的签名
  • gpg -ab xxx-javadoc.jar
    

     
  • 输入密码,然后接着运行下面这个命令
  • gpg -ab xxx-sources.jar
    

     
  • 输入密码

  •  
  • 生成了.asc的文件,用压缩工具打开xxx-bundle.jar文件,然后将刚刚生成的那两个.asc文件(javadoc和sources的)复制到压缩包里面。

  • 最后将这个bundle上传到sonatype-oss上即可。若检查通过,直接状态就是closed的了,别忘了选中后release哦。
    5
    0
    分享到:
    评论
    4 楼 cpop 2014-12-30  
    3 楼 laiweiweihi 2012-03-22  
    ol_beta 写道
    关注,没准以后有用。

    呵呵,
    2 楼 ol_beta 2012-03-21  
    关注,没准以后有用。
    1 楼 119568242 2012-03-21  

    相关推荐

      将本地jar上传到maven仓库

      将本地jar包上传到maven仓库,刷新仓库后即可使用

      阿里云maven私服jar包上传和拉取教程

      - 使用`mvn install:install-file`命令将jar包安装到本地Maven仓库中。 - 示例命令: ```bash mvn install:install-file -Dfile=&lt;jar包完整路径&gt; -DgroupId=&lt;自定义的groupId&gt; -DartifactId=&lt;自定义的artifactId...

      elasticsearch多版本jar包(直接拷贝到maven仓库对应位置即可)

      将Elasticsearch的JAR包放入Maven仓库,可以简化项目的构建过程,避免每次构建时都需要手动下载依赖。 压缩包里的文件应该是Elasticsearch的不同版本,每个版本通常包括核心服务、插件和其他必要的组件。解压缩后,...

      详解如何将JAR包发布到Maven中央仓库

      发布JAR包到Maven中央仓库是一个必要的步骤,以便让全球的Java开发者能够方便地通过Maven构建系统引入你的库作为依赖。Maven中央仓库不直接支持上传,而是需要通过第三方仓库,如Sonatype OSSRH (Open Source ...

      java-maven本地仓库包大全

      使用Maven本地仓库包大全时,开发者可以将这些JAR文件复制到自己的Maven本地仓库(`~/.m2/repository`)中,以便在项目中直接引用。这尤其适用于那些难以从中央仓库获取或者公司内部私有库的依赖。为了保持仓库的整洁...

      将本地jar包安装进入maven仓库(实现方法)

      这个命令允许用户将本地JAR包安装到本地的Maven仓库中。安装过程需要提供JAR包的文件位置以及对应的Maven坐标,即groupId、artifactId、version等信息。正确的命令格式如下: ```shell mvn install:install-file -...

      阿里大鱼1.0.0 maven jar

      在描述中提到,将这个jar文件下载并解压后放入本地或服务器的Maven仓库中,意味着开发者可以通过Maven的依赖管理机制,在项目中轻松引用这个SDK,而无需手动添加类库到项目路径。Maven仓库的路径为`...

      jacob-1.19 版本jar包

      1. **手动添加依赖**:由于jacob-1.19不在Maven中央仓库,需要将jar包手动放入项目的lib目录,并在pom.xml文件中添加本地依赖。 2. **配置Maven settings.xml**:为避免每次都手动添加,可以在settings.xml的`...

      SSM+maven整合(所有jar包都是在maven上2017.8.30最新的包)

      本项目基于SSM进行了maven的整合,确保所有使用的jar包都是2017年8月30日在Maven中央仓库中的最新版本,以保证项目的先进性和兼容性。 首先,Spring框架(4.3.10.RELEASE版本)作为整个SSM架构的基础,负责依赖注入...

      maven文件仓库镜像

      Maven仓库分为本地仓库、远程仓库和中央仓库。本地仓库是每个开发者机器上默认创建的,用于存储下载的依赖项。当项目构建时,Maven首先会查找本地仓库中的依赖。如果找不到,它会尝试从远程仓库获取。远程仓库可以是...

      Maven: 仓库搜索服务

      当你需要引入新的库或jar包到你的项目中时,Maven仓库搜索服务就显得尤为重要。本文将详细介绍如何利用Maven仓库搜索服务来查找并获取所需的依赖坐标。 Maven依赖的基本格式是groupId:artifactId:version,它由三...

      Maven中央仓库地址配置大全

      本文将详细介绍 Maven 中央仓库地址配置大全,包括阿里中央仓库、camunda.com 中央仓库、spring.io 中央仓库、maven.apache.org 中央仓库、maven.org 中央仓库、alfresco.com 中央仓库、oschina 中央仓库、oschina ...

      maven-compiler-plugin-3.8.0-source-release插件

      下载 `maven-compiler-plugin-3.8.0-source-release` 后,将其添加到 Maven 的本地仓库,或者在 `pom.xml` 中声明依赖,以便在构建过程中自动下载。对于大型项目,推荐使用 Maven 的私有仓库来存储常用插件,以提高...

      spring-data-commons-1.12.11.RELEASE.jar 下载

      spring-data-commons.jar spring-data-commons-core jar包下载 从 maven仓库中下载的官方jar包,放心使用

      搭建Maven私有仓库.docx

      * releases:内部的模块中release模块的发布仓库 * snapshots:发布内部的SNAPSHOT模块的仓库 * 3rd party:第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去 * proxy:类型的仓库,从远程中央...

      ojdbc下载各个版本jar包.zip,包括ojdbc6.jar,ojdbc7.jar,ojdbc8.jar 免费下载

      然而,Oracle的JDBC驱动并不在默认的中央Maven仓库中,因此需要在项目的pom.xml文件中添加Oracle的Nexus或Maven仓库URL,或者手动将jar包放入本地Maven仓库。 6. **替代下载方式**: 当Maven无法自动下载时,可以...

      maven本地仓库安装代码

      - **部署**:开发者可以将自己构建的构件部署到本地仓库,供其他项目使用或测试。 - **隔离性**:每个用户都可以拥有自己的本地仓库,这样不同用户的环境互不影响。 ### Maven安装代码详解 在提供的代码片段中,...

      maven_package 依赖包(完整)

      在POM中声明所需依赖,Maven会根据设定的坐标(groupId、artifactId、version)从Maven中央仓库或其他指定的远程仓库下载对应的jar包。例如,`&lt;dependency&gt;`标签用于声明项目依赖,`&lt;dependencies&gt;`标签则用于包含...

      maven上传jar到指定私服

      本文将深入探讨如何使用Maven上传一个JAR(Java Archive)文件到指定的私有Nexus仓库,这是一个常见的操作,尤其在企业级开发环境中。 首先,我们需要了解Maven的生命周期和插件系统。Maven的生命周期包括清洁...

      【JAVA】彻底清理Maven仓库的工具

      maven-cleaner-1.0.0.RELEASE.zip maven使用的越久,下载的垃圾就越多,包括下载失败的,下载错误的...3、编辑bat文件,修改jar包的解压执行路径和maven仓库路径 4、运行bat 或者自己编写java的jar执行命令均可。

    Global site tag (gtag.js) - Google Analytics