`
drug
  • 浏览: 12189 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

上传利用GitHub管理的软件到Maven Central Repository之二

阅读更多

pom.xml文件修改完毕后,现在进行其他准备。如果还没修改pom那么请参阅该系列的第一篇

 

1. 生成为软件数字签名所需的key。这里用到的工具是GPG。这个工具在Git Bash和Linux中可以直接运行。否则可以到这里下载。

 

GPG准备好以后,可以运行:

 

gpg --gen-key

 

出现如下提示后输入1:

 

在如下提示后输入想要的KEY的位数,没有特别需要的话直接回车也可以:

 

接着会出现询问KEY的有效期,默认这是0,也就是说永远不过期:

 
 接着输入y并回车确认永久有效。然后会出现下面的提示,要求输入你的真实姓名:

 

 根据提示输入姓名,邮箱和备注后,然后会提示输入用来保护密钥的密码(passphrase),如果不需要密码的话直接回车,如果输入了密码那么一定要记住,这个密码在后面会用到。接下来系统会要求你输入一些随机字符,在键盘的字母和符号上乱按就可以了,不过别按回车

 

生成成功以后会出现信息:

 

public and secret key created and signed

 

要查看现有的公钥,输入:

 

gpg --list-keys
输出的格式是这个样子的:
pub 2048R/8743ASD9 2013-11-12
uid                 姓名 (备注) <邮箱>
sub 2048R/874234DA 2013-11-12
pub代表的是公钥。旁边2048R代表生成的位数,斜杠后面的字符串就是这个key的ID。
 
类似地,查看私钥,输入:
gpg --list-secret-keys
 
而输出格式也类似:
sec 2048R/8743ASD9 2013-11-12
uid                 姓名 (备注) <邮箱>
sub 2048R/874234DA 2013-11-12
 
为了保险起见,最好备份私钥:
gpg --export -a 私钥ID > private_key.asc
 
这样密钥就保存起来了。以后要重新导入的话只需要:
gpg --import private_key.asc
 
2. 生成了key以后,按照Sonatype的要求,我们需要把公钥上传到服务器上。输入:
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 公钥ID
 
这个服务器地址是Sonatype规定的,因此不需要修改。
 
3. 下一步,就要像Sonatype提出申请了。首先,要到这里申请他们的Jira帐号。获得帐号以后,到这里提交一个申请ticket。Project要选Support - Open Source Project Repository HostingIssue TypeNew Project。
再次提醒:groupId的写法非常重要,要么使用自己拥有的域名。要么使用项目托管的子域名,例如com.github.username。为了节省时间,如果使用的是自己拥有的域名,那么可以在description里写清楚,否则客服有可能会问,这样就一个来回就需要一个工作日了。
 
等客服帮你创建好了仓库,会把ticket改成Fixed并在上面加注释。
 
 3. 修改settings.xml文件。这里主要是添加Sonatype的帐号信息,以便发布的时候使用。
<server>
        <id>portlettester-releases</id>
        <username>xxx</username>
        <password>xxx</password>
 </server>
 
这里的id要和pom.xml文件里面<distributionManagement>的repository id对应,用户名和密码则是Sonatype的Jira帐号和密码。
 
上面这些都准备好以后,在下一篇里我们就要进入发布的正式流程了。请参阅:上传利用GitHub管理的软件到Maven Central Repository之三
  • 大小: 8.5 KB
  • 大小: 6.1 KB
  • 大小: 10.7 KB
  • 大小: 11.4 KB
分享到:
评论

相关推荐

    Java idea maven repository

    Java IDEA Maven Repository是Java开发中的一个重要概念,它与IntelliJ IDEA这个强大的集成开发环境...通过理解Maven仓库的工作原理,以及如何在IDEA中有效利用它,开发者能够更好地管理他们的项目并提升开发效率。

    将jar包添加到本地maven仓库

    在Java开发中,Maven作为项目管理和构建工具,广泛用于管理依赖关系。有时,我们可能会遇到一些不常见的库或者自定义的jar包,这些库并未在Maven中央仓库中提供,这时就需要将这些jar包手动添加到本地Maven仓库,...

    maven-repository

    Maven仓库 该项目将以Maven存储库的形式发布TeamVK公开发布的Java资源。 如何使用 为了使用此Maven存储库,您可以使用各种插件(用于您的构建系统,例如Gradle和... mavenCentral() github("teamvk", "maven-repositor

    Maven中央仓库地址配置大全

    第二种方式是将 Maven 的远程仓库统一的配置到 Maven 的 Settings.xml 的配置文件中,这种方式更加推荐。 下面是 Maven 中央仓库地址配置大全中的一些常用的地址: 1. 阿里中央仓库(首推1) &lt;repository&gt; &lt;id&gt;...

    sonatype与腾讯云配合构建项目到中央仓库.docx

    Sonatype是管理Maven Central Repository的主要平台,它要求所有提交的开源项目都必须经过审核。注册时,选择"Community Support - Open Source"项目类型,并提供New Project的信息。特别要注意填写Group Id,这是你...

    Android代码-dbf

    Maven artifact is available from maven central repository. Just add dependency in your pom.xml: org.jamel.dbf dbf-reader 0.0.3 Supported fields types DBF field type Returned as character ...

    maven教程.pdf

    - **中央仓库** (Central Repository): Maven 默认使用的公共仓库,包含大量常用的 Java 库。 - **自定义远程仓库**: 开发者可以设置自己的远程仓库来托管私有或特定版本的依赖。 - **仓库配置**: - **settings....

    maven仓库 org开头的jar

    在Java开发领域,Maven是一个不可或缺的工具,它是一个项目管理和综合工具,广泛用于构建、依赖管理和项目信息管理。在Maven的仓库中,我们经常会看到以`org`开头的jar包,这是因为`org`是Maven的一个顶级组织命名...

    Android代码-RxAssetManager

    Use the jcenter() or mavenCentral() repository. repositories { jcenter() mavenCentral() } Then pick a module. Core dependencies { implementation ...

    action-maven-publish::package:用于自动发布Maven包的GitHub Action

    Maven发布动作GitHub Action用于自动发布Maven软件包总览这个动作执行Maven deploy生命周期阶段为Maven提供您的GPG密钥和密码,以便您可以使用maven-gpg-plugin对工件进行签名向Maven提供您的Nexus凭据,以便它可以...

    android中moudle打包aar离线在线模式.doc

    Android 中的 Module 打包是指将多个模块打包成一个 AAR 文件,并上传到 GitHub 远程仓库中,实现模块之间的依赖关系管理。本文将详细介绍在 Android Studio 中如何实现 Module 打包,包括在线模式和离线模式两种...

    Android代码-Android Common Library Samples

    Some modules of project contain dependencies not included in Maven Central - to build such modules you need first install these dependencies in your local repository. To do this, please, download ...

    Android代码-webbit

    Prebuilt JARs are available from the central Maven repository or the Sonatype Maven repository. Alternatively, you can get the latest code from Git and build it yourself: git clone git://github....

    gwtp-dispatch-rpc-client-1.1.1.zip

    而“用于将scala/java项目发布到maven central的sbt插件示例”揭示了这个zip文件包含了一个用于发布软件到Maven中央仓库的示例。Maven中央仓库是Java生态系统中最主要的公共资源库,开发者可以从中获取开源库的依赖...

    android-async-http 源码

    Build Status ... Changelog See what is new in version 1.4.9 released on 19th September... mavenCentral() } } dependencies { compile 'com.loopj.android:android-async-http:1.4.9' } development snapshots ...

    完整jar包资源,COULD NOT FIND tephra,包缺失使用

    在描述中提到的问题,开发者在打包应用时遇到了找不到"tephra-hbase-compat-1.0-0.6.0"这个特定版本的JAR包,这通常是由于Maven或Gradle等构建工具无法从默认的远程仓库(如Maven Central Repository)下载所需依赖...

    latest-unix.tar.gz

    2. **缓存远程仓库**:Nexus可以缓存来自公共Maven仓库(如Central Repository)的工件,减少网络延迟并提高构建速度。 3. **代理仓库**:它可以作为其他仓库的代理,如GitHub Packages或JFrog Artifactory,统一...

    idea整合s2jh4net

    - Maven管理工具 - JDK(Java Development Kit) #### 二、导入项目至IDEA 接下来是将s2jh4net项目导入到IntelliJ IDEA中的步骤: 1. **打开Idea并选择导入项目** - 打开IntelliJ IDEA,点击“Import Project”...

    CustomDownSelect:自定义筛选条件功能

    mavenCentral() } allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } mavenCentral() } } 依赖项{实现'com.github.gyadministrator:CustomDownSelect:1.2'} Maven...

    remoteRepository

    Gradle也有类似的概念,通过`repositories`块定义远程仓库,如JCenter或MavenCentral。在构建脚本中声明`remoteRepository`可以帮助构建工具找到并下载项目所依赖的外部库,从而构建出可执行的Java应用程序或库。 ...

Global site tag (gtag.js) - Google Analytics