当前位置: 首页 > news >正文

maven-gpg-plugin gpg禁用交互式输入密码 免密码输入 设置默认密码 关闭pinentry-qt输入 passphrase

一、问题描述

在使用maven-gpg-plugin打包jar时,默认情况下,每次都会弹出对话框要你输入密码:

 这就有点烦,有啥办法可以设置默认方法没?网上找了一圈,通过搜索关键词“passphrase”,找到了一些教程,首先当然是官方的文档:

Apache Maven GPG Plugin – Usage

按照官方的文档里的操作遇到了些问题。。

二、解决方法

这里详细写下操作过程,主要流程还是来自于官方的文档这里在操作过程中进行简单说明,首先在项目里加入如下插件:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>3.0.1</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals><configuration><useAgent>true</useAgent><keyname>${gpg.keyname}</keyname><passphraseServerId>${gpg.keyname}</passphraseServerId><gpgArguments><arg>--batch</arg><arg>--pinentry-mode</arg><arg>loopback</arg></gpgArguments></configuration></execution></executions>
</plugin>

通过maven加密pgp密码

mvn --encrypt-master-password xxxx

其中xxx就是你的pgp密码,执行命令后,会生成加密后的密码,在maven的home目录下新建settings-security.xml文件,我这是windows,所以目录是:C:\Users\xxx\.m2

内容如下:

<settingsSecurity><master>{xxxxxx}</master>
</settingsSecurity>

{xxxx}就是上面执行mvn --encrypt-master-password生成的。然后再执行

mvn --encrypt-password xxxxx

xxx还是你的pgp密码,请记住该密码。然后在maven配置文件settings.xml中加入以下内容

<servers><server><id>YOUR_KEY_ID</id><passphrase>YOUR_KEY_ENCRYPTED_PASSPHRASE</passphrase></server>
</servers>
<profiles><profile><id>my-release</id><activation><activeByDefault>true</activeByDefault></activation><properties><gpg.keyname>YOUR_KEY_ID</gpg.keyname></properties></profile>
</profiles>

其中YOUR_KEY_ID就是pgp的秘钥ID,通过

gpg --list-keys

 可查看

其中YOUR_KEY_ENCRYPTED_PASSPHRASE就是mvn --encrypt-password后的密码,相应的填上去就行了。

然后在执行mvn install就不会弹出输入密码的对话框了。

http://www.lryc.cn/news/64426.html

相关文章:

  • 急需国产化替代的重要的工程软件有哪些?
  • 计算机组成原理 4.2.1存储芯片连接
  • 这份【互联网项目全流程表】,实在是泰裤辣!!!
  • JAVA医院管理云HIS统计报表子系统、系统管理字系统功能实现
  • 5.Java中抽象类和接口
  • 中国平安将在2023年出现转机,复苏才刚刚开始
  • CUDA编程(六):代码分析与调试
  • 身份鉴别解读与技术实现分析(1)
  • 为什么说7.38万的比亚迪海鸥比仰望更重要
  • 【LLM】低成本部署大语言模型, 并且还能达到部署在GPU上差不多的效果
  • Doris(25):Doris的函数—Bitmap函数
  • 简单分享微信小程序上的招聘链接怎么做
  • 【英语】大学英语CET考试,翻译部分(修饰后置,定语从句,插入语,多动句,无主句)
  • 设计模式——代理模式
  • Shiro-721---漏洞复现
  • Linux【模拟实现C语言文件流】
  • APK文件结构
  • RabbitMQ死信队列延迟交换机
  • 武忠祥老师每日一题||不定积分基础训练(六)
  • C语言结构体详解
  • 非盲去模糊简单介绍
  • C语言动态内存管理与文件操作:打造高效通讯录
  • 2001-2021年全国30省就业人数数据
  • 自然语言处理知识抽取(pkuseg、DDParser安装及使用)
  • Linux内核面试知识总结
  • 深度学习模型压缩与优化加速
  • Kali 更换源(超详细,附国内优质镜像源地址)
  • Java版工程项目管理系统平台+java版企业工程系统源码+助力工程企业实现数字化管理
  • 搜索引擎测试报告
  • 4年的测试工程师,你遇到过自身瓶颈期吗?又是怎样度过的?