使用的maven 版本 3.2.5
Nexus版本 3.X
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構件了.
Tips:
本方式的加密是完全基於本地的maven,算出密碼並且配置兩個本地配置文件的方式, 安全性其實並不完美.
針對於Nexus Repository OSS 版本的Nexus也只能如此 . (也就是免費版的私服)
如果有公司使用的是收費版Nexus Repository Pro版本,可以用更安全的方式, 本地settings.xml直接寫nexus提供的密文.
詳見:Nexus官方文檔 http://books.sonatype.com/nexus-book/reference3/security.html#user-token
取部分截圖貼上.

2017-04-12 12:18:44 添加
