【问题解决】Maven密码加密

普通的maven部署方式是把maven私服的账号密码以明文的方式配置在settings.xml文件中

XML 复制代码
<server>

<id>deploymentRepo</id>

<username>xxx</username>

<password>123</password>

</server>

这种方式的配置很容易被别人看到从而泄漏了个人信息。

maven其实可以对用户密码进行加密,需要用到下面2个命令:

XML 复制代码
mvn --encrypt-master-password <password>

mvn --encrypt-password <password>

1) 获取master密码

执行

XML 复制代码
mvn --encrypt-master-password

即可得到一个master密码,例如对123这个密码进行加密:

XML 复制代码
mvn --encrypt-master-password 123

得到加密串:

XML 复制代码
{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}

我们需要打开~/.m2/settings-security.xml这个文件(如果没有就手动创建)

添加到标签中,文件内容如下:

XML 复制代码
<settingsSecurity> 
<master>{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}</master>
</settingsSecurity>

2) 获取server加密密码

执行

XML 复制代码
mvn --encrypt-password 

即可得到一个server密码,例如再对123这个密码进行加密:

XML 复制代码
mvn --encrypt-password 123

得到加密串:

XML 复制代码
{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}

把这个加密串添加到settings.xml中server节点的password中:

XML 复制代码
<server> 
<id>deploymentRepo</id> 
<username>admin</username>
<password>{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}</password>
</server>

参考:

https://www.cnblogs.com/kingsy/p/6380787.html

maven在settings.xml中存储加密密码-CSDN博客

相关推荐
小许学java8 分钟前
MySQL-触发器
java·数据库·mysql·存储过程·触发器
JEECG低代码平台11 分钟前
【2025/11】GitHub本月热度排名前十的开源Java项目
java·开源·github
百***860515 分钟前
Spring BOOT 启动参数
java·spring boot·后端
跟着珅聪学java22 分钟前
Spring Boot 中整合 MySQL 并打印 SQL 日志
java·spring boot
ᐇ95925 分钟前
Java集合框架实战:HashMap与HashSet的妙用
java·开发语言
阿智智25 分钟前
用Maven的quickstart archetype创建项目并结合JUnit5单元测试
java·单元测试·maven·junit5
乂爻yiyao30 分钟前
设计模式思想——从单例模式说起
java·单例模式·设计模式
q***116538 分钟前
SpringBoot创建动态定时任务的几种方式
java·spring boot·spring
by__csdn41 分钟前
微服务与单体那些事儿
java·后端·微服务·云原生·架构
权泽谦1 小时前
Java 在机器学习中的应用:基于 DL4J 与 Weka 的完整实战案例
java·机器学习·数据挖掘