Maven发布封装到中央仓库时候报错:no default 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来发布你的内容到中央仓库吧~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

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

    将jar包发布到Maven中央仓库(Maven Central Repository),这样所有的Java开发者都可以使用Maven直接导入依赖,例如fundebug-java: <!-- https://mvnrepository.com/artifact/com.fundebug/fundebug-java --> <dependency> <groupId>com.fundebug</groupId> <artifactId>fundebu

  • Maven发布封装到中央仓库时候报错:no default 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的命令来看一下当前

  • 解决React报错Unexpected default export of anonymous function

    目录 总览 命名 注释单行规则 总结 总览 当我们尝试使用默认导出来导出一个匿名函数时,会导致"Unexpected default export of anonymous function"警告.为了解决该错误,在导出函数之前,为函数赋予一个名称. 这里有个例子来展示警告是如何发生的. // Header.js // ️ default export for anonymous function // ️ Unexpected default export of anonymous

  • maven引入本地jar包运行报错java.lang.NoClassDefFoundError解决

    目录 正文 maven引入本地jar的示例 配置maven将本地jar打入package中 maven打包知识分享 scope详解 正文 下文笔者讲述maven引入本地jar包时,运行报错"java.lang.NoClassDefFoundError"的处理方法分享,如下所示 今天在编写maven项目    导入本地jar包    部署到服务器上找不到包  报错信息如:java.lang.NoClassDefFoundError那么如何解决呢?   这种问题是由于,本地jar包在打包的

  • 关于报错IDEA Terminated with exit code 1的解决方法

    本人亲测,在使用IDEA使用Maven模板创建项目或者在当前项目中New Project,Maven的以下三个配置参数会重置使用C:\Users\ZSAndroid\.m2的默认maven下载方式. Maven home path(Maven安装路径) User settings file(Maven下载使用的settings.xml) Local repository(Maven本地仓库,settings.xml下载存放资源的目录) 如果在IDEA构建项目时遇到下面这样的报错IDEA Term

  • Maven中央仓库发布的实现方法

    目录 一.前言 二.环境准备 三.步骤说明 1.工单创建 2.gpg 环境安装 3.Maven全局配置 4.项目maven配置 5.发布操作 四.参考文档 一.前言 最近自己在学习Spring boot的过程中开发了一个组件 multithreadpool-spring-boot-starter,通过这个组件,我们可以动态根据配置文件进行多个线程池的初始化.既然有这个产出后,肯定是希望能够上传到maven中央仓库,给更多的人使用,于是就产生了这次项目发布经历. 整个过程可谓是一波三折,由于平时工

  • 如何把JAR发布到maven中央仓库的几种方法

    详细描述maven中央仓库发布jar包的中间过程, 以及遇到的一些问题汇总, 尽量用文字描述清楚, 耐心看下去, 就一定会发布成功 ----Sonatype篇---- 名词解释: Sonatype Nexus: Sonatype Nexus helps software development teams use open source so they can innovate faster and automatically control risk maven社区唯一指定的仓库地址为: ht

  • 使用CI/CD工具Github Action发布jar到Maven中央仓库的详细介绍

    之前发布开源项目Payment Spring Boot到Maven中央仓库我都是手动执行mvn deploy,在CI/CD大行其道的今天使用这种方式有点"原始".于是我一直在寻求一种能够支持流水线作业的发布工具,能让我在进行合并代码时自动触发构建发布.有一款免费的产品能做到这一点,它就是Github Action. Github Action Github Action是由Github创建的CI/CD服务. 它的目的是使所有软件开发工作流程的自动化变得容易. 直接从GitHub构建,测

  • 上传自己的jar包到maven中央仓库的快速操作方法

    目录 (一)概述 (二)注册jira (三)发布申请 (四)发布项目 4.1 安装配置gpg 4.2 配置maven的setting.xml 4.3 配置pom文件 4.4 打包上传 (五)发布 (六)总结 (一)概述 现在网络上已经有不少上传jar包至中央仓库的教程,但是我搜了一大圈之后发现当时的做法目前并不适用,因此决定自己写下上传jar包至中央仓库的方式,写这篇文章的时间是2021年8月18日. (二)注册jira 本文档通过sonatype上传jar包至maven中央仓库,Sonatyp

  • Maven默认中央仓库(settings.xml 配置详解)

    Maven的安装 安装Maven之前要确保已经安装好了jdk,并且配置好了环境变量JAVA_HOME.具体安装步骤如下: 1. 从apache网上下载maven项目的压缩包.下载地址为:http://maven.apache.org/download.html.比如现在最新的Maven版本是3.0.4,那么我下载好的安装文件就是apache-maven-3.0.4.zip. 2. 将下载后的压缩包解压到Maven的安装目录,比如说是D:\\develop,那么解压后就是D:\\develop\\

随机推荐