普通的maven部署方式是把maven私服的账号密码以明文的方式配置在settings.xml文件中
- <server>
-
- <id>deploymentRepoid>
-
- <username>xxxusername>
-
- <password>123password>
-
- server>
这种方式的配置很容易被别人看到从而泄漏了个人信息。
maven其实可以对用户密码进行加密,需要用到下面2个命令:
- mvn --encrypt-master-password <password>
-
- mvn --encrypt-password <password>
1) 获取master密码
执行
mvn --encrypt-master-password
即可得到一个master密码,例如对123这个密码进行加密:
mvn --encrypt-master-password 123
得到加密串:
{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}
我们需要打开~/.m2/settings-security.xml这个文件(如果没有就手动创建)
添加到标签中,文件内容如下:
- <settingsSecurity>
- <master>{VrVw6/Cg8FYHpfLj8oO/qRbMY5VrfGtIeR7RX5OHeV0=}master>
- settingsSecurity>
2) 获取server加密密码
执行
mvn --encrypt-password
即可得到一个server密码,例如再对123这个密码进行加密:
mvn --encrypt-password 123
得到加密串:
{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}
把这个加密串添加到settings.xml中server节点的password中:
- <server>
- <id>deploymentRepoid>
- <username>adminusername>
- <password>{2Db+TFdWDgQHlN7gBd1PAZHEC5h5E3Wuhcs9NBLdVIE=}password>
- server>
参考: