Maven安裝及獨立鏡像服務器Nexus搭建

Maven安裝及獨立鏡像服務器Nexus搭建

1. 寫在前面

本文介紹Maven的安裝(包括windows下與Linux下),以及基本使用的方法,包括修改Maven鏡像,搭建Maven私服(Nexus,本文只講述於Linux下安裝的方法),以及向鏡像服務器提交我們的代碼(使用IDEA提交代碼與命令行提交代碼),包括穩定版與開發版的提交方式。本博文中提到的相關知識點經過博主實踐得到,在實踐過程中出現問題博主可以解答問題緣由。

2. Maven安裝

Maven是一個項目管理和綜合工具。Maven提供了開發人員構建一個完整的生命週期框架。開發團隊可以自動完成項目的基礎工具建設,Maven使用標準的目錄結構和默認構建生命週期。
在多個開發團隊環境時,Maven可以設置按標準在非常短的時間裏完成配置工作。由於大部分項目的設置都很簡單,並且可重複使用,Maven讓開發人員的工作更輕鬆,同時創建報表,檢查,構建和測試自動化設置。

上述內容參照自 https://www.yiibai.com/maven/,對於Maven,相信做開發的人或多或少都接觸到了,使用Maven我們可以更加方便的進行依賴包管理,通過簡單的配置即可引用各種代碼包,對我們的開發提供了巨大的助力。而對於一個團隊或一個企業,會有大量的開發完成的公共功能被其他項目引用,這時,就需要本文所講述的Maven私服來提供一個獨立的鏡像環境地址。在下文將繼續說明。

2.1 在Windows下安裝

Maven安裝包下載:apache-maven-3.6.3-bin.tar.gz
Maven的安裝並不難,只需要下載相應的壓縮包,直接解壓到我們需要的環境即可,這裏詳細說一下在Windows下進行環境配置的問題。我們想要讓我們的Maven全局生效,可以方便的通過命令語句運行各種命令,我們需要配置相應的環境變量。當然,要想運行Maven,我們需要Java環境,Java環境的安裝可以參照這批篇博文:JDK安裝及環境配置
Maven環境配置
按照上圖所示,進行環境配置配置完成之後進行環境的測試,打開cmd控制檯,運行下列語句:

mvn -version

如果環境沒有問題,會出現下面的結果:
環境檢測
如果沒有出現上述類似語句,則環境沒有被配置好,需要再次進行配置,檢查自己的配置信息。Maven安裝及環境配置就說到這裏。

2.2 在Linux下安裝

Maven安裝包下載:apache-maven-3.6.3-bin.tar.gz
在Liunx安裝Maven實際上操作也很簡單,但是首先也是需要有Java環境,在Linux下安裝Java環境可以參照這篇博文:JDK安裝及環境配置
這裏以CentOS操作系統作爲案例說明,首先下載壓縮包,放置於linux中,這裏我將壓縮包存儲在 /home中,運行下列語句:

cd /home
tar -zxvf apache-maven-3.6.3-bin.tar.gz /usr/local/maven

將安裝包解壓到 /usr/local/maven中,接下來配置環境,在 /etc/profile內配置環境,執行下列語句:

vim /etc/profile

將下列語句添加到profile中:

export MAVEN_HOME=/usr/local/maven   #這裏使用你解壓的路徑
export PATH=${PATH}:${MAVEN_HOME}/bin

配置完成後執行下列語句:

source /etc/profile  #使配置文件生效

上述操作要求會使用vim編輯器,如果不會使用可以百度一下如何在vim中編輯本文。
上述操作完成後,運行下列語句檢查版本信息:

mvn -version

當出現版本信息即爲安裝成功。

2.3 配置鏡像環境

使用Maven可以方便我們的包管理,但是下載各種環境包時,如果使用Maven默認的中央鏡像其下載速度是不太友好的,我們一般會配置阿里的中央鏡像作爲鏡像使用,會加快我們環境包的下載速度。
打開配置文件(linux 與 Windows下一致,conf 下 settings.xml),這裏講解下配置文件中的一些配置信息:
配置本地存儲地址:

<localRepository>D:\repository</localRepository>

環境鏡像配置在mirrors內部進行配置,這裏直接給出鏡像環境:

<!-- 阿里雲倉庫 -->
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

修改完成之後可以打開一個Maven項目測試一下下載的速度,應該是有很大的改觀。
鏡像環境配置就講述到這裏,按照操作後如果還是有問題,可以在下方留言,博主會盡快解答。

3. Nexus安裝及配置

Nexus可以在部署之後,管理我們的依賴包,我們可以將開發完善的功能上傳到私服中供其它模塊調用,在企業中,建立私服可以有效控制我們的環境包,方便我們的開發,並且在局域網內進行部署,可以保護我們的環境包資源。

3.1 Nexus安裝

這裏博主推薦的Nexus安裝跟Maven的安裝同樣的簡單,這裏先提供一下Nexus的下載資源:
Nexus下載地址:nexus-3.20.0-04-unix.tar.gz
下載完成後,解壓壓縮包到我們需要的地址下:

tar -zxvf nexus-3.20.0-04-unix.tar.gz /usr/local/nexus
cd /usr/local
ls -l

執行完上述命令後,即可看到路徑下有下列兩個文件夾:nexus 與 sonatype-work
解壓後路徑下的文件夾
這裏我們更改一下默認的運行用戶,如果不更改會出現錯誤信息,但是不會影響運行:

/etc/profile #運行該命令後,將下面一條語句加入進去
export RUN_AS_USER=root

nexus默認的啓動端口爲8081,如果需要更改,可以進行下列操作:

cd /usr/local/nexus/conf
vim nexus.properties  #19行application-port=8081改爲指定即可

nexus啓動與其它相關命令:

/usr/local/nexus/bin ./nexus start #啓動
/usr/local/nexus/bin ./nexus stop #停止

啓動nexus後,按照默認的8081端口,可以訪問

http://ip:post

之後即可出現nexus系統的界面:
nexus啓動界面
之後按照提示進行用戶名和密碼的操作,注意這裏的用戶名與密碼要妥善保管,筆者設定用戶名爲 admin ,密碼爲 123456 ,方便下文中的配置講解。默認的用戶名爲admin,默認的密碼(後期版本)會在登錄頁面上有提示。密碼在/nexus-data/admin.password中。

3.2 配置私服

配置私服之前,首先說明一下nexus的管理界面的分佈及一些模塊的功能。首先上一張管理平臺界面的圖片:
nexus管理平臺
在未登錄時的界面如上圖所示,可以看到右上角有登錄的按鈕,用作登錄,左側一個tab欄,tab欄中有Welcome,search,與Browse,這裏只說明一下Browse,點開這裏面可以看到很多的倉庫,這裏面的倉庫有一些是默認的倉庫,公開的倉庫都可以在這裏看到,當登陸完成之後,對jar環境的管理也是在這裏。
Browse截圖
登錄之後,可以看到界面上多了一個齒輪一樣的圖案,點擊之後可以看到如下的界面:
登陸後界面截圖
可以看到,有很多的配置,這裏不一一詳述各種是什麼,這裏講述一下如何添加倉庫。點擊倉庫按鈕,之後可以看到下列的內容:
倉庫管理
點擊Create repository,可以看到有很多的選項,這裏首先說明幾個問題:

hosted 類型的倉庫,內部項目的發佈倉庫
releases 內部的模塊中release模塊的發佈倉庫
snapshots 發佈內部的SNAPSHOT模塊的倉庫
3rd party 第三方依賴的倉庫,這個數據通常是由內部人員自行下載之後發佈上去
proxy 類型的倉庫,從遠程中央倉庫中尋找數據的倉庫
group 類型的倉庫,組倉庫用來方便我們開發人員進行設置的倉庫

這裏我們首先新建一個名爲maven-releases的倉庫,選擇maven2 hosted,之後填寫相應的內容,再創建一個maven-snapshots ,同上,創建完成之後繼續下面的操作。

4. 私服使用

4.1 修改本地Maven配置

這裏直接貼上代碼,後面再說明:

	<!--這裏配置我們剛纔創建的user用戶所對應的releases-->
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>*****</password>
    </server>
    <server>
        <id>maven-public</id>
        <username>admin</username>
        <password>*******</password>
    </server>
    <!--這裏配置我們剛纔創建的user用戶所對應的Snapshots-->
    <server>
        <id>Snapshots</id>
        <username>admin</username>
        <password>*******</password>
    </server>

上面配置了我們連接各倉庫需要的密碼與賬號名,配置完成之後我們修改一下中央鏡像,注意,將我們的鏡像放置於最上面,這樣纔會首先讀取我們的倉庫。

4.2 提交本地代碼到私服

要想提交本地的代碼,首先需要在我們的maven項目中做下列配置:

<distributionManagement>
        <!--配置線上releases倉庫地址,只要是正式版本都會上傳到該地址(注意要和settings.xml文件裏面的配置名稱相同)-->
        <repository>
            <id>releases</id>
            <url>http://您的ip:8081/repository/maven-releases/</url>
        </repository>
        <!--配置線上Snapshots倉庫地址,只要是快照版本都會上傳到該地址(注意要和settings.xml文件裏面的配置名稱相同)-->
        <snapshotRepository>
            <id>Snapshots</id>
            <url>http://您的ip:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <executions>
                    <execution>
                        <id>deploy</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>deploy</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

配置完成之後,我們可以直接 deploy,之後即可在nexus私服中的倉庫中看到我們的新項目的倉庫內容。

4.3 從私服獲取提交的代碼

獲取提交的內容跟普通的依賴引入一樣,我們可以在nexus管理界面中點擊我們需要引入的依賴,即可看到有自動生成的引用的語句:
自動引用語句

4.4 Maven依賴版本介紹

在這裏我們可以看到我們在配置倉庫資源的時候就配置了兩個倉庫,一個是releases,另一個是snapshots版本。這裏簡單說明一下這兩個版本的差異:

releases 版本表示比較穩定的版本,私服中不允許提交兩個同版本的環境,如果提交同版本會報錯

snapshots 版本表示還在開發中且會經常修改的版本,這種版本可以同一個版本號提交多次,nexus會自動根據提交的時間生成不同的版本信息

5. 寫在後面

本文中出現的下載鏈接如果不能下載請留言,博主可以發送到留言者的郵箱中。本文講解了Maven的安裝與基本配置,以及nexus私服的搭建步驟,提供了相關的資源的下載資源。如果本文講解有問題的地方,希望讀者可以留言,筆者將會改正錯誤的地方。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章