maven在settings.xml中存储加密的密码避免密码泄露《转载》
博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导):
maven在settings.xml中存储加密密码
1.需求
编译服务器部署在了阿里云上,需要在编译完成后上传编译后的aar文件到公司maven私服上,普通的maven部署方式是把maven私服的账号密码以明文的方式配置在settings.xml文件中,如:
<server> <id>deploymentRepo</id> <username>admin</username> <password>12345678</password> </server>
但是这种方式的配置很容易被别人看到从而泄漏了你的个人信息,显然是不适应在这种环境下使用的。
2.加密
maven其实可以对用户密码进行加密,需要用到下面2个命令
mvn --encrypt-master-password <password> mvn --encrypt-password <password>
3. 获取master密码
执行mvn --encrypt-master-password <password>
即可得到一个master密码,例如对12345678这个密码进行加密:
mvn --encrypt-master-password 12345678
会得到加密串:
{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}
我们需要打开~/.m2/settings-security.xml
这个文件(如果没有就手动创建)
添加到标签中,文件内容如下:
<settingsSecurity> <master>{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}</master> </settingsSecurity>
4.获取server加密密码
执行mvn --encrypt-password <password>
即可得到一个server密码,例如再对12345678这个密码进行加密:
mvn --encrypt-password 12345678
得到加密串:
{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}
把这个加密串添加到settings.xml中server节点的password中:
<server> <id>deploymentRepo</id> <username>admin</username> <password>{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}</password> </server>
原文链接:https://blog.csdn.net/fragrant_no1/article/details/84335600
作者:四叶草的诗雨
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.