nexus3.14.0-04私服構建


前言

      項目開發時,一般采用Maven來進行項目構建,管理,jar包下載,項目組開發人員開發時,只要在項目的pom.xml文件中,添加如下pom.xml信息從公共的庫中下載相關的Jar包以及依賴Jar包,但有時候公共的庫不是那么穩定而且下載速度往往很慢,一個團隊一起開發項目時,如果每個組員都去下載一遍所有依賴的Jar包,其實是一件很麻煩的事情,所以這時候就有必要搭建一個Maven的私庫了,這樣如果再添加其他的構件時,會先在Maven私庫下載好,以后才會下載到本地。以后,如果發現私服已經存在某一jar包,則會直接從私服下載,如果沒有再去網絡上下載,能大大的提高效率,因此很有必要搭建maven私服。

Maven私庫安裝部署

1.平台版本說明

centos 7.5

nexus-3.14.0-04

JDK 8

2.環境安裝:安裝nuxus maven私庫之前先要安裝好JDK、maven等必要環境

配置環境變量:

# vim /etc/profile

.....

//java的環境變量設置

export     JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

#//maven的環境變量設置

export MAVEN_HOME=/usrl/local/mevan

export PATH=$PATH:$MAVEN_HOME/bin

3.Nexus Maven私庫安裝

nexus maven下載,下載地址:https://www.sonatype.com/download-oss-sonatype,我下載的是nexus-3.14.0-04-unix.tar.gz

1)安裝:linux版本無需安裝

直接解壓即可 tar -zxf nexus-3.14.0-04-unix.tar.gz

 1.1設置系統內核,這個是根據日志報警自己設置的

# vi /etc/security/limits.conf

添加下面參數

nexus    soft    nproc 2047

nexus    hard   nproc 1638423

nexus    soft       nofile 1024

nexus    hard     nofile 65536

1.2.創建nexus運行賬號

#useradd nexus

1.3.修改bash_profile文件

$vi ~/.bash_profile

NEXUS_HOME=/mysolf/nexus3/nexus-3.14.0-04

export PATH=$PATH:$NEXUS_HOME/bin

$source ~/.bash_profile

#nexus

提示:

1.4.設置運行用戶

$vim /mysolf/nexus3/nexus-3.14.0-04/bin/nexus.rc  #這里是控制啟動用戶的

#run_as_user=""   #默認是root用戶啟動,當然你可以去掉注釋如:

run_as_user="nexus" #就變成nexus用戶啟動了

再次運行nexus不再報錯

$nexus

2)運行:

進入bin目錄下,運行./nexus start,啟動服務

$nexus start

(可選)的配置:

# vim /usr/local/nexus/bin/nexus.vmoptions   #這個文件有一些啟動參數,這里修改占用內存,存儲,日志的位置等

-Xms1200M
-Xmx1200M
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false

 

# vim /usr/local/nexus/etc/nexus-default.properties   #修改端口啊監聽地址在這個配置文件中

## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

訪問私服

nexus3.X的默認端口是:8081

nexus3.X的默認賬號是:admin

nexus3.X的默認密碼是:admin123

nexus3.X搭建的maven私服的本地訪問地址是:http://私服的ip:8081**

例如我的就是:http://192.168.176.181:8081/

可以點擊上面的“設置”圖標,在“設置”里可以添加用戶、角色,對接LDAP等的設置,如下:

注意下面幾點說明:

1.component name的一些說明:

    1)maven-central:maven中央庫,默認從https://repo1.maven.org/maven2/拉取jar

    2)maven-releases:私庫發行版jar

    3)maven-snapshots:私庫快照(調試版本)jar

    4)maven-public:倉庫分組,把上面三個倉庫組合在一起對外提供服務,在本地maven基礎配置settings.xml中使用。

2.Nexus默認的倉庫類型有以下四種:

    1)group(倉庫組類型):又叫組倉庫,用於方便開發人員自己設定的倉庫;

    2)hosted(宿主類型):內部項目的發布倉庫(內部開發人員,發布上去存放的倉庫);

    3)proxy(代理類型):從遠程中央倉庫中尋找數據的倉庫(可以點擊對應的倉庫的Configuration頁簽下Remote Storage Location屬性的值即被代理的遠程倉庫的路徑);

    4)virtual(虛擬類型):虛擬倉庫(這個基本用不到,重點關注上面三個倉庫的使用);

3.Policy(策略):表示該倉庫為發布(Release)版本倉庫還是快照(Snapshot)版本倉庫;

4.Public Repositories下的倉庫

   1)3rd party: 無法從公共倉庫獲得的第三方發布版本的構件倉庫,即第三方依賴的倉庫,這個數據通常是由內部人員自行下載之后發布上去;

   2)Apache Snapshots: 用了代理ApacheMaven倉庫快照版本的構件倉庫

   3)Central: 用來代理maven中央倉庫中發布版本構件的倉庫

   4)Central M1 shadow: 用於提供中央倉庫中M1格式的發布版本的構件鏡像倉庫

   5)Codehaus Snapshots: 用來代理CodehausMaven 倉庫的快照版本構件的倉庫

   6)Releases: 內部的模塊中release模塊的發布倉庫,用來部署管理內部的發布版本構件的宿主類型倉庫;release是發布版本;

   7)Snapshots:發布內部的SNAPSHOT模塊的倉庫,用來部署管理內部的快照版本構件的宿主類型倉庫;snapshots是快照版本,也就是不穩定版本

所以自定義構建的倉庫組代理倉庫的順序為:Releases,Snapshots,3rd party,Central。也可以使用oschina放到Central前面,下載包會更快。

5.Nexus默認的端口是8081,可以在etc/nexus-default.properties配置中修改。

6.Nexus默認的用戶名密碼是admin/admin123

7.當遇到奇怪問題時,重啟nexus,重啟后web界面要1分鍾左右后才能訪問。

8.Nexus的工作目錄是sonatype-work(路徑一般在nexus同級目錄下)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM