在工作中可能存在有些開發機器不能上網,大量的機器獲取jar包會導致公司網絡很慢,還有時候公司會自己發布自己的項目版本,其他的項目可能會依賴引用到,所以就需要用到Maven的本地倉庫。
下面就這個構建本地Maven倉庫進行闡述。
Nexus
一:介紹
Nexus是Maven的倉庫管理器,用來搭建一個本地倉庫服務器,這樣做的好處便於管理,節約網絡資源, 速度快,可以通過SNAPSHOT版本控制,開進行模塊間的高效依賴開發。
二:下載
我們從http://nexus.sonatype.org/downloads/ 來獲取最新版本。這里使用的是nexus-2.12.0-01-bundle.zip。
三:解壓
解壓到本地后,目錄結構。
在bin里我們可以看到nexus.bat。到時候我們可以通過這個命令來安裝卸載,啟動停止nexus服務。
四:配置環境變量
由於是用java開發的。所以需要安裝jdk,並配置好java的環境變量,這里就不表了。
新建環境變量Nexus
值為解壓的目錄 F:\nexus-2.12.0-01\
path中加入;%Nexus%\bin
可以看到
這樣即可。從圖中我們可以看到命令:start,stop等。
五:安裝服務,啟動服務
我們先安裝服務。
nexus.bat install這樣就可以安裝了,提示安裝好后。我們可以啟動服務。
nexus.bat start提示成功后我們可以輸入127.0.0.1:8081/nexus可以訪問到。
六:使用
右上角有個Log in。點擊這個可以登錄。用戶名是admin 密碼默認的是 admin123
登錄后,點擊左邊Views/Repositores下的Repositories
![]()
hosted:本地倉庫,通常我們會部署自己的構件到這一類型的倉庫。比如公司的第二方庫。
proxy:代理倉庫,它們被用來代理遠程的公共倉庫,如maven中央倉庫。
group:倉庫組,用來合並多個hosted/proxy倉庫,當你的項目希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。Central:是Maven的中央倉庫,我們這里就那這個舉例。
選擇倉庫的類型
Repository Policy 是Release 還是Snapshot
下載遠程索引文件
點擊Central這個倉庫,然后點擊Configration。在Download Remote Indexes改成True保存即可。
由於索引比較大,所以得過段時間才能下載完畢。
Routing選項可以看到當前倉庫與遠程倉庫的狀態。並且制定更新頻率。
將設置好的倉庫放進倉庫組里。
點擊Public Repositories->Configuration
將Central放到左邊即可。
點擊Browse Index我們就可以看到很多倉庫的資源了。
配置Maven,打開\apache-maven-3.3.3\conf\settings.xml配置文件。
在<mirror>節點配置如下即可
<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. | --> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://127.0.0.0:8081/nexus/content/groups/public/</url> </mirror> </mirrors>