1、為什么需要maven私有倉庫?
從Maven中央倉庫下載所需的jar包,需要外網的支持。如果公司不能上外網的話則不能從中央倉庫下載所需jar包,公司網速慢的時候也會影響項目構建的速度。用戶可以用nexus創建私有的maven倉庫。
2、下載和部署Nexus
首先下載nexus,下載地址是http://www.sonatype.org/nexus/go 在此頁面可以下載最新版本的Nexus,可以下載zip包也可以下載war包。需要注意的是兩種包的部署方式不一樣。
zip包部署方式
a.把zip包解壓到指定路徑如“D:\workbase” b.運行cmd然后進入“D:\workbase\nexus-2.6.0-05\bin”路徑 c.然后運行nexus.bat install命令安裝nexus d.然后運行nexus.bat start命令啟動nexus
其他命令有nexus.bat stop停止 nexus.bat restart重啟 nexus.bat uninstall卸載
war包部署方式
直接把war包放到tomcat的webapp下,啟動tomcat即可。
在瀏覽器地址欄輸入http://localhost:8088/nexus/即進入nexus首頁。有管理nexus要以管理員身份登錄,點擊首頁右上角的login輸入默認登錄名、密碼admin/admin123即可登錄。
注意與jdk的版本搭配
官方下載的最新版本是2.6.0-05,jdk1.6版本啟動nexus有錯誤不能啟動,錯誤如下:
Launching a JVM...
jvm 5 | java.lang.UnsupportedClassVersionError: org/sonatype/nexus/bootstrap/jsw/JswLauncher : Unsupported major.minor version 51.0
在官網下載早期版本的Nexus如2.4.0替換掉即可。
登錄系統后點擊左側菜單欄Views/Repositories下的Repositories選擇Central倉庫點擊下邊的Configuration把Download Remote Indexes屬性設為True保存即可。
點擊Repositories ,可以看到倉庫列表,包括下面幾種:
Public Repositories 倉庫組
3rd part 三方庫,可以上傳jar包到這個倉庫
Central maven中心倉庫
Releases 自己項目中發布的構建
Snapshots trunk 下開發一個項目
然后在Central倉庫上右鍵然后點擊Repair Index 即可下載中心倉庫的索引文件,稍等幾分鍾點擊下邊的Browse Index即可看見下載的索引文件。
往Public Repositories中添加Central倉庫,點擊Public Repositories在Configuration選項卡中把Central移到左側即可。
最后在自己的應用中把中心倉庫配置成建立的私有倉庫地址即可,修改本地的maven配置文件,C:\Documents and Settings\用戶名\.m2\setting.xml
在mirrors添加mirror節點地址指向建立的私有倉庫地址,mirrorOf屬性值設為central為了覆蓋超級pom中指定的central地址,如下
Maven 倉庫
Maven 包集中存放的地方,就是 Maven 倉庫。這些倉庫,可以是放在本地,也可以放在某個遠程服務器上。 可以是私有倉庫,也可以是公開的。
- 存在本地的
maven { url 'file:///Users/my-user-name/Documents/Android/repo/' }
- 存在內網服務器的
maven { url 'http://192.168.99.100:8081/content/repositories/releases/' }
- 存在某個遠程服務器的
maven { url 'https://raw.githubusercontent.com/liaohuqiu/umeng-libs/master/repository' }
附錄:Maven倉庫地址收錄
公有的倉庫
http://repo1.maven.org/maven2/
http://repository.jboss.com/maven2/
http://repository.sonatype.org/content/groups/public/
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecurity/
私有的倉庫
http://repository.codehaus.org/
http://snapshots.repository.codehaus.org/
http://people.apache.org/repo/m2-snapshot-repository
http://people.apache.org/repo/m2-incubating-repository/