今天因为发布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来发布你的内容到中央仓库吧~

欢迎关注我的公众号:程序猿DD,获得独家整理的学习资源和日常干货推送。

如果您对我的专题内容感兴趣,也可以关注我的博客:didispace.com

Maven发布封装到中央仓库时候报错:no default secret key: No secret key的更多相关文章

  1. 在默认使用apache中央仓库时, 报错 protocol_version

    https://cloud.tencent.com/developer/ask/136221/answer/241408 2018年6月,为了提高安全性和符合现代标准,不安全的TLS 1.0和1.1协 ...

  2. 如何开发一个npm包并发布到npm中央仓库

    转自: https://liaolongdong.com/2019/01/24/publish-public-npm.html 如何开发一个npm包并发布到npm中央仓库需求背景:平时在项目工作中可能 ...

  3. Maven发布Release到中心仓库历程记录(无个人域名)

    Maven发布Release到中心仓库历程记录(无个人域名) 前言 因为前段时间自己做了一个爬虫项目(地址),自己很希望分享到maven中心仓库上,感觉拥有自己的jar包令我兴奋,便开始了maven发 ...

  4. maven项目引用时,导入类报错,选择两个项目同时执行Maven update

    maven项目引用时,导入类报错,选择两个项目同时执行Maven update springboot引入第三方jar,需要扫描时加@ComponentScan("第三方的包名") ...

  5. springboot项目的maven的pom.xml文件第一行报错 Unknown Error

    springboot项目的maven的pom.xml文件第一行报错 Unknown Error https://blog.csdn.net/mini_jike/article/details/9239 ...

  6. Maven学习3(中央仓库)

    Maven项目在运行的时候,会首先找本地仓库是否有需要的jar,如果没有则去调用远程仓库. 解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  & ...

  7. 将个人项目发布到mavan中央仓库

    第一步,准备自己的git代码 比如在gitee或者github上的代码,我的是gitee码云上的,开源了一个处理业务日志采集的组件,支持注解方式,支持SpEL表达式,支持变量自定义. 话不多说,直接上 ...

  8. maven Nexus 搭建本地中央仓库。

    maven 网络中央仓库占用大量的网络资源,所以构建本地中央仓库. 过程如下: 下载地址: http://www.sonatype.org/nexus/archived 我用的是1.6的 [root@ ...

  9. 如何将自己的jar包发布到mavan中央仓库

    最近自己写了一个关于网关限流的插件,然后想着肯定会有很多兄弟也需要使用到,所以就想着把jar包上传到Maven的中央仓库上让大家可以更方便的使用 现在咱们来看一下这个流程是什么样的呢. 首先呢,你得去 ...

随机推荐

  1. 高并发编程-AQS深入解析

    要点解说 AbstractQueuedSynchronizer简称AQS,它是java.util.concurrent包下CountDownLatch/FutureTask/ReentrantLock ...

  2. 生活小插曲(长篇连载,持续更新ing)^_^

    这个帖子,长期记录一些小小的生活插曲 在北京朋友开店了-关于同学开快餐店的故事.今天下午听说这个朋友在附近开了一个店,下午5点多吧,出门去他那里去了.走路过去的.在那里聊了将近一个小时吧.对最近我们自 ...

  3. Java判断字符串相等"=="和"equal"详解

    在初学Java时,可能会经常碰到下面的代码: public static void main(String[] args) { //两种声明方式,有所差别 String s1="hello& ...

  4. 暗灰色的圆形按钮.html

    宝宝 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...

  5. Java修炼——面向对象_抽象类和抽象方法

    抽象类和抽象方法 什么是抽象类? 使用 abstract 修饰的类称为抽象类 public abstract class Person { } 抽象类的特征 1) 抽象类不可以创建对象 2) 抽象类可 ...

  6. [TimLinux] docker CentOS7 入门——容器(1)

    1. 编写Dockerfile # 将官方 Python 运行时用作父镜像 FROM python: # 将工作目录设置为 /app WORKDIR /app # 将当前目录内容复制到位于 /app ...

  7. HDU-3339 IN ACTION(Dijkstra +01背包)

      Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the ...

  8. 第一节知识点:.net与c#的概念

    1.什么是.net          .net一般指的是.NET Framework框架,一种平台,一种技术:.NET 是微软的新一代技术平台,以构建互联互通的应用系统.这些应用程序的开发和运行必须有 ...

  9. ARTS-S golang常用代码段

    通过http下载文件 func DownloadFile(filepath string, url string) error { out, err := os.Create(filepath) if ...

  10. unity3d WeelCollider 漂移

    物理漂移 基础控制不在说明 Forward Friction 为轮胎直线摩擦力 Sideways Friction 为侧面摩擦力 Extremum Slip为速度达到多少后产生漂移效果 Extremu ...