maven 如果要配置nexus私服,使用明文密码很不安全,可能会被他人窃取
加密后无法破解并且不同还可以区分机器,即使别人盗取了加密后的代码也无法使用
1.准备用户master密钥文件
Master Password 是加密server密码的一个密码.
在${user.home}\.m2 目录下创建 settings-security.xml文件.
比如C:\Users\Vito\.m2\settings-security.xml
2.生成MasterPassword
$mvn --encrypt-master-password $Password: (这里输入你指定的master明文密码) ${ESsDMOfmQu0HmKAcvsrCGnPQ+hBugnRhp+kFmEh5zj0=} (这是根据明文MasterPassword 计算的密码)
3.修改 settings-security.xml 内容
<?xml version="1.0" encoding="UTF-8"?> <settingsSecurity> <master>{OZ9T+teXD84HK2+/6JSe2DwruLTc9BaimAJLCIoNcNc=}</master> </settingsSecurity> <!--master password 明文 asdf , <master>标签内的是 步骤2. 生成的密码-->
4.生成 私服Repository密码
$mvn --encrypt-password $Password: (输入你nexus私服对应Repository的密码) ${BRb43mpsn5EH1UOF0dYBkoUJccZDkzmO05p7ofNwuBU=}
5.修改本地{maven.home}\conf\settings.xml文件
<settings> <servers> ....... <server> <!--Nexus私服 发布仓库 的账户密码 --> <id>maven-releases</id> <username>admin</username> <!--这个密码就是用加密后的masterpassword加密的admin123--> <password>{BRb43mpsn5EH1UOF0dYBkoUJccZDkzmO05p7ofNwuBU=}</password> </server> <server> <!--Nexus私服 自己添加的第三方仓库的 的账户密码 --> <id>maven-3rd</id> <username>admin</username> <password>admin123</password> </server> ....... </servers> </settings>
到此 就可以安全地 链接nexus对应的Repository 进行download 构件或者deploy构件了.