Maven服務器搭建

Nexus服務器軟件安裝和配置

目前比較流行的使用nexus搭建maven私有服務器,其實很簡單,它就是一個web系統,從官方下載的包默認內嵌了jetty容器,因此須要提早安裝好JVM,並配置好環境變量,接下來只須要簡單配置並運行便可。html

本文參考的博客:http://www.361way.com/nexus-maven-private-warehouse/3108.htmllinux

  • 官方下載Nexus oos版本:https://www.sonatype.com/download-oss-sonatypeweb

  • 安裝下載後解壓,有2個目錄:nexus-3.4.0-02 sonatype-work瀏覽器

    nexus-3.4.0-02 -> bin目錄有3個文件nexus(執行程序)、nexus.rc(配置文件,配置運行nexus的用戶)、nexus.vmproperties(配置文件,配置nexus運行JVM虛擬機參數)
    只須要設置nexus.rc中爲:run_as_user="lkqm", 注意nexus基於安全考慮lkqm不能是root。安全

  • 啓動中止
    bin目錄下執行: nexus start啓動,nexus status查看運行狀態, nexus run運行並打印結果會佔用終端,nexus stop中止。服務器

注:Nexus3版本以上須要jdk1.8版本。linux安裝nexus運行須要操做sonatype-work目錄下文件,因此保證run_as_user指定的用戶對整個目錄有讀寫權限。maven

linux下安裝命令參考:url

cd ~/donwload

# 解壓到指定目錄
sudo mkdir /usr/local/nexus
suod tar xzvf nexus-3.4.0-02-unix.tar.gz -C /usr/local/nexus

# 修改nexus目錄的權限
cd /usr/local/nexus
sudo chown -R lkqm .

# 修改配置文件nexus.rc
# 運行
cd nexus-3.4.0-02/bin
./nexus start

進入WEB管理端,配置倉庫

瀏覽器中訪問192.168.0.1:8081, 未登陸狀態,只能查看服務器端哪些倉庫,以及有那些包(jar), 左側樹形菜單brow點擊能夠查看。代理

點擊右上角登陸後進入配置界面,默認的管理員帳戶:admin, 密碼admin123,左側樹形菜單:repository,進入倉庫配置(CRUD)。unix

倉庫分爲3種:

  1. proxy 代理,做用就是代理其餘maven倉庫
  2. hosted 主機,做用是保存本身團隊上傳的組件(jar包)
  3. group 組,做用是結果上面兩種的倉庫,提供統一的包下載訪問路徑。

到此服務端,配置完畢。

注:默認提供了多個倉庫,能夠參照配置。

配置maven的setting.xml文件

爲了讓maven項目,從私有服務器下載組建(jar包),須要在maven的配置文件setting.xml -> mirrors添加mirror元素:

<mirror>
      <id>lkqm</id>
      <mirrorOf>central</mirrorOf>
      <name>My Server Maven.</name>
      <url>http://localhost:8081/repository/maven-public/</url>
</mirror>

url標籤的值,一般指向group類型的倉庫,這樣咱們就能夠下載共有的和私有的組件(jar包)。

上傳本地項目到服務器

咱們須要將本身的組件(jar包)上傳到私有的maven服務器中,須要在指定項目的pom.xml中,添加以下配置,而後執行maven命令deploy便可將項目打包上傳到服務器:

<!-- 構建分發管理:本地構建上傳到私有服務器 -->
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://localhost:8081/repository/maven-release/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://localhost:8081/repository/maven-snapshot/</url>
        </snapshotRepository>
    </distributionManagement>

url標籤的值,指向hosted類型的倉庫,用於上傳私有的組件(jar包)。

因爲倉庫須要帳戶密碼訪問,所以根據上面配置的id的值,去maven配置文件setting.xml -> servers節點中查找,內容以下:

<servers>
    <server>
      <id>nexus-release</id>
      <username>admin</username>
      <password>199528</password>
    </server>

    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>199528</password>
    </server>
 </servers>
相關文章
相關標籤/搜索