1. 程式人生 > >Maven私有庫與本地庫的安裝與配置(Sonatype nexus + Maven)

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重新整理即可看到