第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

Maven 私服搭建

在本節(jié)中,我們來介紹一下如何使用 Nexus 來搭建我們自己的 Maven 私服。在之前的章節(jié)中,我們已經(jīng)介紹過關(guān)于 Maven 倉庫的分類了,就像下圖張展示的那樣子,今天,我們就重點(diǎn)的來講一下關(guān)于私服這部分內(nèi)容。
圖片描述

1. Nexus 簡介與安裝

1.1 Nexus 簡介

Nexus 的創(chuàng)始人是 Tamas Cservenak。在大約 2005 年的時(shí)候,Tamas 開始開發(fā)了一個(gè) Proximity 系統(tǒng),開發(fā)這個(gè)系統(tǒng)的原因是當(dāng)時(shí)的電信公司提供的 ADSL 網(wǎng)絡(luò)的傳輸速度過慢。Proximity 系統(tǒng)的目的也很明確,代理和緩存中央倉庫中的構(gòu)件,在 Maven 需要下載構(gòu)件的時(shí)候,不需要經(jīng)過糟糕的 ADSL 網(wǎng)絡(luò)。后來,到了 2007 年的時(shí)候,Sonatype 團(tuán)隊(duì)邀請了 Tamas 創(chuàng)建了 Nexus 項(xiàng)目。

我們可以發(fā)現(xiàn)這又是一段類似 git 的產(chǎn)生的歷史。大神們總是用這種方式,來改變著我們的歷史。

1.2 Nexus 安裝

接下來,我們來安裝 Nexus 。首先,我們可以去 Sonatype 的官網(wǎng)上下載對(duì)應(yīng)的 Nexus 版本。不過這里還是要吐槽一下這個(gè)地址的訪問速度非常慢。這里,我們使用的是nexus-2.11.2-03-bundle.tar.gz版本。

  1. 首先,我們將安裝包上傳到服務(wù)器的對(duì)應(yīng)目錄中;

  2. 我們將安裝包進(jìn)行解壓,執(zhí)行命令tar -xvf nexus-2.11.2-03-bundle.tar.gz,解壓后,對(duì) nexus-2.11.2-03 目錄進(jìn)行重命名 mv nexus-2.11.2-03 nexus;

  3. 編輯環(huán)境變量,vi /etc/profile,在文件的最后,根據(jù)自己服務(wù)器的情況,添加如下的配置;

  4. 進(jìn)入到 bin 目錄中,cd /usr/local/src/nexus/bin;

  5. 在 bin 目錄中,有 Nexus 的可執(zhí)行文件,我們來執(zhí)行 nohup ./nexus start &,來啟動(dòng) Nexus,啟動(dòng)成功后,在瀏覽器中,輸入http://ip:port/nexus可以瀏覽私服的網(wǎng)址;

至此,我們就安裝好了 Nexus。

2. Nexus 配置與使用

2.1 Nexus 配置

接下來,我們來介紹如何配置 Nexus,來讓其幫我們代理 Maven 的中央倉庫。

  1. 首先,我們登陸 Nexus ,默認(rèn)的密碼是 admin/admin123,登陸成功后,我們可以看到左側(cè)出現(xiàn)更多的功能;

  2. 如下圖操作,我們來添加代理倉庫;

  3. 在下方的配置頁面,如下圖進(jìn)行操作;

  4. 創(chuàng)建好代理倉庫之后,還需要配置一下 Public Repositories;

  5. 在配置好 Public Repositories 之后,我們更新一下該倉庫的索引;

  6. 更新索引可能會(huì)需要一段時(shí)間,等到更新好之后,我們可以 Nexus 中搜索想要的構(gòu)件,這時(shí)候說明 Nexus 的索引已經(jīng)更新完成;

2.2 Nexus 使用

在配置好 Nexus 之后,我們要在項(xiàng)目中使用私服要如何使用呢?答案是,和使用其他的倉庫沒有太大區(qū)別。接下來,我們來具體介紹一下如何在項(xiàng)目中使用。

  1. 打開 Maven 的 setting.xml 文件,將其中的 mirrors 節(jié)點(diǎn)和 profiles 節(jié)點(diǎn)改為如下配置;

    <mirrors>
        <mirror>
            <id>mic-maven</id>
            <mirrorOf>*</mirrorOf>
            <name>mic maven</name>
            <url>http://ip:port/nexus/content/groups/public/</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>maven profile</id>
            <activation>
                <jdk>1.8</jdk>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>chenyao-central</id>
                    <name>chenyao maven</name>
                    <url>http://ip:port/nexus/content/groups/public/</url>
                    <releases>
                    	<enabled>true</enabled>
                    </releases>
                    <snapshots>
                    	<enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>chenyao-central</id>
                    <name>chenyao maven</name>
                    <url>http://ip:port/nexus/content/groups/public/</url>
                    <releases>
                    	<enabled>true</enabled>
                    </releases>
                    <snapshots>
                    	<enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
    	<activeProfile>maven profile</activeProfile>
    </activeProfiles>
    
  2. 在 setting.xml 文件中配置好 Nexus 之后,我們可以在項(xiàng)目中引入一個(gè) jar 包來試一下,如果能夠成功的將構(gòu)件下載到本地,就說明我們的配置是正確的。

介于我們在團(tuán)隊(duì)內(nèi)部使用的時(shí)候,還需要將項(xiàng)目的構(gòu)建到 Nexus 中,所以,我們還需要進(jìn)行單獨(dú)的配置。

  1. 首先,我們在項(xiàng)目的 pom.xml 文件中,添加 distributionManagement 節(jié)點(diǎn),用于控制分發(fā)管理;

    <distributionManagement>
        <repository>
            <id>mic-release</id>
            <name>mic maven</name>
            <url>http://ip:port/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>mic-snapshot</id>
            <name>mic maven</name>
            <url>http://ip:port/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    
  2. 由于 Nexus 需要登陸才能使用,所以需要在 setting.xml 文件中配置服務(wù)器的登陸信息;

    <servers>
    	<server>
            <id>mic-release</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
        <server>
            <id>mic-snapshot</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
    </servers>
    
  3. 配置完成后,我們在 mall-order目錄下執(zhí)行mvn clean deploy;

  4. 執(zhí)行完之后,我們?nèi)?Nexus 中根據(jù)坐標(biāo)可以查到這個(gè)構(gòu)件。

至此,我們已經(jīng)能夠讓 Nexus 來代理中央倉庫,并且將我們自己的項(xiàng)目構(gòu)建到私服中去,來提供給其他的項(xiàng)目中使用。

3. 小結(jié)

在本節(jié)中,我們首先介紹了什么是 Nexus ,然后介紹了 Nexus 在服務(wù)器中的安裝與配置方式,最后,我們將私服配置到我們的項(xiàng)目中去,讓其供我們的項(xiàng)目使用。

4. FAQ

4.1 版本選擇

本文中,我們選擇的是 Nexus 的 2.x 版本,之所以這樣做是因?yàn)椋?.x 版本建議 CPU 核心數(shù)為 4 核,但是,我的服務(wù)器只是一個(gè)雙核的,所以,被迫選擇了 2.x 版本,3.x 版本和 2.x 版本理念上沒有太多區(qū)別,只是具體配置操作可能會(huì)有差異。

4.2 RUN_AS_USER

Nexus 是不建議使用 root 用戶來啟動(dòng)的。這里我們有兩個(gè)選擇,一個(gè)是單獨(dú)創(chuàng)建一個(gè)用戶,來提供 Nexus 使用(建議);另一種就是像本節(jié)中的配置,在環(huán)境變量中增加 RUN_AS_USER 配置,來強(qiáng)制使用 root 用戶啟動(dòng)。