Maven私有庫與本地庫的安裝與配置(Sonatype nexus + Maven)
首先下載nexus安裝包,我這裡使用的是nexus-2.11.2-03-bundle.tar.gz(下載地址:http://www.sonatype.org/nexus/go/)
演示將會安裝在/root/tengjs目錄下
將安裝包拷貝到/root/tengjs目錄下
建立nexus目錄,用來放置解壓後的檔案
# mkdir nexus
將安裝包解壓到nexus目錄下
# tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C nexus
解壓完成後會看到在nexus目錄下有兩個檔案
nexus-2.11.2-03(nexus服務)
sonatype-work(私有庫目錄)
進入nexus-2.11.2-03/conf目錄
編輯nexus.properties檔案
# vim nexus.properties
這裡預設的是8081埠,因為我的8081埠已被使用,所以這裡改為8082
編輯nexus指令碼,配置RUN_AS_USER引數
# cd /root/tengjs/nexus/nexus-2.11.2-03/bin
# vim nexus
RUN_AS_USER=改為RUN_AS_USER=root
防火牆開啟8082埠
# vim /etc/sysconfig/iptables
儲存後重啟防火牆
# service iptables restart
阿里雲伺服器新增入方向安全組規則
啟動nexus
# /root/tengjs/nexus/nexus-2.11.2-03/bin/nexus start
ok,啟動成功
瀏覽器中開啟
右上角登入,預設使用者名稱為admin,預設密碼為admin123
到此,nexus已經安裝完成了,接下來是nexus的配置
選單Administration/Server配置郵箱服務地址(如果忘記密碼,可以通過該郵箱找回密碼)
我這裡使用的是qq郵箱
點選Test SMTP settings測試
剛開始我這裡一直髮送不出去,最後發現特麼qq郵箱沒有開通smtp服務
進入qq郵箱,設定 > 賬戶 > POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務
設定完成後再次測試,注意密碼框裡填寫的不是qq的密碼,是你開通smtp服務時qq給你的授權碼
如
ok,傳送成功,點選儲存
給使用者配置郵箱地址
改成我自己的郵箱地址
現在測試一下
假如你忘記了密碼
登入時點選password
填寫完成後點選Reset Password,就會收到郵件
拿這個當做密碼再重新登入
進去後重置密碼
輸入剛才郵箱傳送的密碼以及新密碼儲存即可
設定proxy代理倉庫准許遠端下載
如圖將三個proxy代理倉庫的Download Remote Indexes設定為true
Maven本地庫的安裝與配置
下載maven並配置環境變數,很簡單,這裡就不再贅述,看一下setting配置檔案
下面是配置內容
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>E:\work\tools\maven\repo</localRepository>
<interactiveMode>true</interactiveMode>
<offline>false</offline>
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
<pluginGroup>org.jenkins-ci.tools</pluginGroup>
</pluginGroups>
<!--配置許可權,使用預設使用者-->
<servers>
<server>
<id>nexus-releases</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>
<mirrors>
</mirrors>
<profiles>
<profile>
<id>edu</id>
<activation>
<activeByDefault>false</activeByDefault>
<jdk>1.8</jdk>
</activation>
<repositories>
<!-- 私有庫地址-->
<repository>
<id>nexus</id>
<url>http://xxx.xxx.xxx.xxx:8082/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!--外掛庫地址-->
<pluginRepository>
<id>nexus</id>
<url>http://xxx.xxx.xxx.xxx:8082/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!--啟用profile-->
<activeProfiles>
<activeProfile>edu</activeProfile>
</activeProfiles>
</settings>
注意以上標紅的點
我這裡使用的是開發者(deployment),nexus預設密碼為deployment123
<url>http://xxx.xxx.xxx.xxx:8082/nexus/content/groups/public/</url>
這裡配置的其實就是nexus中的
eclipse配置
構建jar包並上傳到私有庫
在nexus中重新整理就可以看到jar包了
上傳第三方jar包
選擇本地jar包
nexus重新整理即可看到