私服是一個特殊的遠程倉庫,它是架設在局域網內的倉庫服務。私服代理廣域網上的遠程倉庫,供局域網內的Maven用戶使用。當Maven須要下載構建的使用,它先從私服請求,若是私服上沒有的話,則從外部的遠程倉庫下載,而後緩存在私服上,再爲Maven的下載請求提供服務。json
在maven中,配置setting.xml,以後經過mvn deploy命令能夠將包傳入私服瀏覽器
有些第三方jar包,咱們須要通常經過新建倉庫進行上傳緩存
setting.xml配置oracle
<servers> <server> <id>nexus</id> <username>gaming</username> <password>gaming</password> </server> </servers>
pom.xml配置下maven
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>releases Repository</name>
<url>http://127.0.0.1:8081/repository/maven-releases/</url>
</repository>post
<repository>
<id>nexus-snapshots</id>
<name>snapshots Repository</name>
<url>http://127.0.0.1:8081/repository/maven-snapshots/</url>
</repository>url
<repository>
<id>3rdParty</id>
<name>3rdParty Repository</name>
<url>http://127.0.0.1:8081/repository/3rdParty/</url>
</repository>
</distributionManagement>代理
一、本身maven私服更容易維護,公司開發從maven私服遷出jar到本地倉庫更快code
二、有些公司未開放外網給開發人員server
登陸nexus後臺,選擇建立repository
respository介紹
proxy:是遠程倉庫的代理。好比說在nexus中配置了一個central repository的proxy,當用戶向這個proxy請求一個artifact,這個proxy就會先在本地查找,若是找不到的話,就會從遠程倉庫下載,而後返回給用戶,至關於起到一箇中轉的做用;
Hosted:是宿主倉庫,用戶能夠把本身的一些構件,deploy到hosted中,也能夠手工上傳構件到hosted裏。好比說oracle的驅動程序,ojdbc6.jar,在central repository是獲取不到的,就須要手工上傳到hosted裏;
Group:是倉庫組,在maven裏沒有這個概念,是nexus特有的。目的是將上述多個倉庫聚合,對用戶暴露統一的地址,這樣用戶就不須要在pom中配置多個地址,只要統一配置group的地址就能夠了右邊那個Repository Path能夠點擊進去,看到倉庫中artifact列表。不過要注意瀏覽器緩存。
選中maven2(hosted)
自定義倉庫名,其他使用默認
以後就上傳成功,這是在後臺上傳
也能夠經過命令上傳
mvn deploy:deploy-file -DgroupId=net.sf -DartifactId=json-lib -Dversion=2.4 -Dpackaging=jar -Dfile=E:/json-lib-2.4.jar -Durl=http://192.168.1.222/nexus/repository/releases/ -DrepositoryId=releases
參數說明
mvn deploy:deploy-file
- -DgroupId=xxxxxx 就至關於pom中的groupId
- -DartifactId=xxxxxx 就至關於pom中的artifactId
- -Dversion=xxxxxx 就至關於pom中的版本號version
- -Dpackaging=xxxxxx 就至關於pom中打包方式
- -Dfile=xxxxxx 本地環境
- -Durl=xxxxxx 上傳的url
- -DrepositoryId=xxxxxx 對應的是setting.xml 裏邊的id
下載,須要修改maven的setting.xml
設置repository
以後reimport便可。