使用maven,搭建nexus私服

        maven的中央倉庫特別的慢,近期爲了推動項目轉爲maven的結構,必須提升下載的速度,摸索着搭建一個私服。將過程記錄在此。apache

       一直使用IDEA的maven的插件,並無在系統中安裝mavenwindows

一、先安裝maven瀏覽器

        http://maven.apache.org/download.cgi   官網上下載,直接解壓後配置環境變量服務器

並在path中增長 %MAVEN_HOME%\binmaven

在cmd 中運行 mvn -version 確認成功。   ide

以前因爲在idea中一直使用maven,修改系統中的maven的D:\apache-maven-3.3.9-bin\apache-maven-3.3.9\conf下的settings.xml ,將工具

 <localRepository>C:\Users\Administrator\.m2\repository</localRepository>  修改成原來的maven本地倉庫地址。  不然從新下載本地庫會瘋。url

 

二、安裝nexus服務器 idea

    http://www.sonatype.org  在此下載2.X的版本,以前下了最新的3.1,搞了一天沒弄明白,資料太少。2.x的資料多一些,反正就是一個工具,能用就行,不必弄得太明白。spa

    下載的.zip版本,直接解壓便可。

     解壓後存在兩個目錄以下:

    第一個目錄是nexus服務器,第二個目錄是資源庫的目錄。

    運行方式能夠配置環境變量,直接命令行執行。請自行百度。

    懶得配,直接執行D:\解壓目錄\nexus-professional-2.14.1-01\bin\jsw\windows-x86-64\console-nexus.bat   雙擊後彈出cmd窗體,服務啓動:

        

順利啓動後,默認端口是8081,在瀏覽器上輸入http://localhost:8081/nexus

剛進入讓你註冊,輸入郵箱後系統會發給你一個key,輸入後則進入welcome界面。

 

點擊右上角 Login in  默認用戶名 密碼   admin   admin123

 

 

這塊我也只知其一;不知其二,能夠自行百度,都差很少。

添加代理倉庫

以 Sonatype 爲例,添加一個代理倉庫,用於代理 Sonatype 的公共遠程倉庫。點擊菜單 Add - Proxy Repository :

填寫Repository ID - sonatype;Repository Name - Sonatype Repository;

Remote Storage Location - http://repository.sonatype.org/content/groups/public/ ,save 保存:

將添加的 Sonatype 代理倉庫加入 Public Repositories 倉庫組。選中 Public Repositories,在 Configuration 選項卡中,將 Sonatype Repository 從右側 Available Repositories 移到左側 Ordered Group Repositories,save 保存:

將右面的都移到左面圓圈處。 表明將選中的庫放到public組裏。

 

將全部 proxy 類型庫 的Download Remote indexes 改成true.

能夠在3rd party 中上傳已存在的jar

 

三、修改settings.xml 創建私服的鏡像

    

<mirrors>
            <mirror>
                <id>central</id>
                <mirrorOf>*</mirrorOf> <!-- * 表示讓全部倉庫使用該鏡像--> 
                <name>central-mirror</name> 
                <url>http://localhost:8081/nexus/content/groups/public/</url>
            </mirror> 
    </mirrors>

 

    

四、驗證

mvn help:system

可見確實是從nexus私服進行的下載。

 

 

總結:

       到這裏應該就完成了私服的搭建,項目人員只需在項目的pom.xml中添加

<repositories>
    <repository>
        <releases>
            <enabled>false</enabled>
            <updatePolicy>always</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
        </releases>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>fail</checksumPolicy>
        </snapshots>
        <id>nexus</id>
        <name>nexus</name>
        <url>http://localhost:8081/nexus/content/groups/public/</url>
        <layout>default</layout>
    </repository>
</repositories>

<pluginRepositories>

    <pluginRepository>
        <id>nexus</id>
        <name>nexus</name>
        <url>http://localhost:8081/nexus/content/groups/public/</url>
    </pluginRepository>

</pluginRepositories>

便可。須要將localhost換成nexus服務器在內網中的地址。

若是添加其餘的構件時,會先在nexus私服下載好,之後纔會下載到本地。之後,若是發現私服已經存在某一jar包,則會直接從私服下載,若是沒有再去代理上下載,代理沒有再去中央倉庫上下載。

 

在IDEA中進行package操做,截圖

速度嗷嗷快啊!!!!!

相關文章
相關標籤/搜索