Maven发布封装到中央仓库时候报错:no default secret key: No secret key

简介: Maven发布封装到中央仓库时候报错:no default secret key: No secret key

今天因为发布swagger-spring-boot-starter做一个问题的修复,然后碰到了下面这个问题,记录一下解决过程,帮助后续碰到类似问题的童鞋

*gpg: WARNING: "--no-use-agent" is an obsolete option - it has no effect
gpg: no default secret key: No secret key
gpg: signing failed: No secret key

我们可以用gpg的命令来看一下当前密钥的情况:

$ gpg --list-keys
gpg: 正在检查信任度数据库
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: 深度:0 有效性:  1 已签名:  0 信任度:0-,0q,0n,0m,0f,1u
/Users/zhaiyongchao/.gnupg/pubring.kbx
--------------------------------------
pub   rsa2048 2017-12-05 [SC] [已过期:2019-12-05]  
     xxxxxxxxxxxxxxx
uid           [已过期] zhaiyongchao <didi@didispace.com>

可以看到原来设置的密钥对已经失效,所以下面就来使用gpg续订过期的密钥对:

第一步:进入密钥编辑

$ gpg --edit-key xxxxxxxxxxxxxxx
gpg (GnuPG) 2.2.3; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
私钥可用。
sec  rsa2048/aaaaaaaaaaaaaaaa
     创建于:2017-12-05  已过期:2019-12-05  可用于:SC  
     信任度:绝对        有效性:已过期
ssb  rsa2048/bbbbbbbbbbbbbbbb
     创建于:2017-12-05  已过期:2019-12-05  可用于:E   
[已过期] (1). zhaiyongchao <didi@didispace.com>

第二步:延长私钥与公钥的过期时间,并保存修改

gpg> expire
将要变更主钥的使用期限。
请设定这把密钥的有效期限。
         0 = 密钥永不过期
      <n>  = 密钥在 n 天后过期
      <n>w = 密钥在 n 周后过期
      <n>m = 密钥在 n 月后过期
      <n>y = 密钥在 n 年后过期
密钥的有效期限是?(0) 0
密钥永远不会过期                
以上正确吗?(y/n)y
sec  rsa2048/aaaaaaaaaaaaaaaa
     创建于:2017-12-05  有效至:永不过期  可用于:SC  
     信任度:绝对        有效性:绝对
ssb  rsa2048/bbbbbbbbbbbbbbbb
     创建于:2017-12-05  已过期:2019-12-05  可用于:E   
[ 绝对 ] (1). zhaiyongchao <didi@didispace.com>
gpg: WARNING: Your encryption subkey expires soon.
gpg: You may want to change its expiration date too.
gpg> key 1
sec  rsa2048/aaaaaaaaaaaaaaaa
     创建于:2017-12-05  有效至:永不过期  可用于:SC  
     信任度:绝对        有效性:绝对
ssb* rsa2048/bbbbbbbbbbbbbbbb
     创建于:2017-12-05  已过期:2019-12-05  可用于:E   
[ 绝对 ] (1). zhaiyongchao <didi@didispace.com>
gpg> expire
将要变更子钥的使用期限。
请设定这把密钥的有效期限。
         0 = 密钥永不过期
      <n>  = 密钥在 n 天后过期
      <n>w = 密钥在 n 周后过期
      <n>m = 密钥在 n 月后过期
      <n>y = 密钥在 n 年后过期
密钥的有效期限是?(0) 0
密钥永远不会过期                
以上正确吗?(y/n)y
sec  rsa2048/aaaaaaaaaaaaaaaa
     创建于:2017-12-05  有效至:永不过期  可用于:SC  
     信任度:绝对        有效性:绝对
ssb* rsa2048/bbbbbbbbbbbbbbbb
     创建于:2017-12-05  有效至:永不过期  可用于:E   
[ 绝对 ] (1). zhaiyongchao <didi@didispace.com>
gpg> save

到这里问题就解决了,可以再尝试一下mvn deploy来发布你的内容到中央仓库吧~

目录
相关文章
|
3月前
|
Java Maven
Maven编译报错
Maven编译报错
69 1
|
4月前
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之maven仓库是否可以代替自建的Nexus
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
Java Linux Maven
Maven 仓库
Maven仓库管理构件(如JARs):本地仓库在首次执行时创建,默认位于`%USER_HOME%/.m2/repository/`;远程仓库包括中央仓库,存放大量开源Java构件,可在线浏览&lt;http://search.maven.org/&gt;。若本地缺失构件,Maven会从远程下载至本地。可通过settings.xml配置本地仓库路径。
|
2月前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
558 3
|
4月前
|
敏捷开发 JavaScript Java
阿里云云效产品使用合集之如何进行Maven私有仓库迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
Java Maven
maven开源仓库
maven开源仓库
117 6
|
5月前
|
Java Linux Maven
Maven 仓库
Maven仓库管理构件,包括依赖和插件。有本地、中央和远程三种类型。本地仓库在首次运行时创建,默认在用户目录的`.m2/repository`。Maven首先查找本地仓库,若无则从远程仓库(如中央仓库)下载。中央仓库包含大量开源Java构件,可在线浏览于http://search.maven.org/。
|
6月前
|
Java Linux Maven
Maven 仓库
Maven仓库管理依赖,包括本地、中央和远程仓库。本地仓库在首次运行时创建,默认位于用户目录的`.m2/repository`。若本地缺少构件,Maven会从远程仓库下载,中央仓库是默认的远程源,包含大量开源Java构件。中央仓库无需配置,可通过HTTP访问,[search.maven.org](http://search.maven.org/#browse)可浏览其内容。
|
6月前
|
运维 安全 Java
阿里云云效操作报错合集之maven的setting.xml 上,本地拉取时,报401问题,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
6月前
|
Java Maven
maven常用仓库
maven常用仓库
187 2