maven 私服搭建nexus 3.0.1,安裝,使用
一 安裝
注意: 檢視其它nexus-3.0.0-03-win64 安轉文件,提示需要安裝jdk1.8,但是本人安裝的是jdk1.7,安裝執行,沒發現有什麼問題;
二,功能介紹
1.Search , 查詢私服中有哪些包, 在Search 級中可以使用模糊搜尋,進入子分類中不可以使用模糊搜尋
2. Browse
Assets 中可以看到所有的資源,以及對資源的描述
Components 中只可以看到所有的jar
3. 其他功能需要使用者登入後才可以使用 點選右上角的 sign in 登入, 預設使用者名稱/密碼 admin/ admin123,登入後點設定進入
Security 這裡主要是使用者,角色,許可權的配置
Support 這裡主要是 資料分析和日誌
Systen 郵件服務,排程的設定。
4.Reposotory 倉庫, 主要說一下這裡
Blob Stores 定義倉庫檔案存放的地址
Reposotory
(1) proxy 這裡就是代理的意思,代理中央Maven倉庫,當PC訪問中央庫的時候,先通過Proxy下載到Nexus倉庫,然後再從Nexus倉庫下載到PC本地,常用的公有庫都可以在這裡設定代理。需要注意的是,這裡建立了新的代理倉庫,更新索引後並不能立即搜尋到相應的包,當有pc訪問的時候,庫中沒有才去代理的庫中下載
peoxy 建立:
選擇
填寫資訊:
Name: 給代理起一個名字,
Remote storage: 代理的地址,例: http://repo1.maven.org/maven2/
Blob store 代理下載包的存放路徑。Blob store 中設定的路徑
公有倉庫地址:
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/
(2)Host 宿主機,主要是用來放第三方的jat包, 有三種方式: Releases, SNAPSHOT, Mixed
Releases- 一般存放已經發布的jat包
snapshot 未釋出的版本
Mixed 混合的
Host 的建立步驟 和Proxy 是一樣的, 需要注意的是: Deployment Polcy; 策略需要修改成 ALLOW REDEPLOY;
(3)GROUP, 把多個倉庫合併成一個倉庫,主要用於對外部提供服務。
group 的建立:
在group 中選著group 庫包含哪些庫;
三,使用
1.在專案的 pmo檔案中配置私服的地址即可, 配置如下
<span style="font-size:14px;"><repositories>
<!-- nexus私服 -->
<repository>
<id>public</id>
<url>http://192.168.11.140:9081/nexus/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories></span>
在eclipst 中使用,可在自定義maven的settings.xml 檔案 或者maven的conf 配置檔案中配置, 配置如下:
<span style="font-size:14px;"><localRepository>E:\repo123</localRepository>
<servers>
<span style="white-space:pre"> </span><server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<!-- 開源中國庫 -->
<!-- <url>http://maven.oschina.net/content/groups/public/</url> -->
<!--
http://repo1.maven.org/maven2/
http://repository.jboss.com/maven2/
-->
<!-- <url>http://repo1.maven.org/maven2/</url> -->
<url>http://192.168.11.140:9081/nexus/repository/maven-public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors></span>
2.將自己的jar 匯入到庫中 Releases(正式版), SNAPSHOT(未釋出的版本)
需要在setting。xml 中加入使用者許可權的驗證,如下:
<span style="font-size:14px;"><server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server></span>
在專案的pom 中加入
<span style="font-size:14px;"><distributionManagement>
<repository>
<id>maven-releases1</id>
<url>http://192.168.11.140:9081/nexus/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<url>http://192.168.11.140:9081/nexus/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement></span>
這個地方需要注意: 在setting.xml中server 中的id 要和pom 中repository 中的id相同, 在pom的xml中之一版本號 的區分 <version>0.0.1-SNAPSHOT</version>配置好以後可以使用命令 mvn deploy 將自己的jar 上傳到私服中去;
3.將第三方的jar 包新增到私服中, 使用mvn deploy 命令
<span style="font-size:14px;"> mvn deploy:deploy-file
-DgroupId=org.shardbatis
-DartifactId=shardbatis
-Dversion=2.0.0B
-Dpackaging=jar
-Dfile=E:\12\2.0.0B\shardbatis-2.0.0B.jar
-Durl=http://192.168.11.140:9081/nexus/repository/maven-releases/
-DrepositoryId=maven-releases</span>
注意,這裡的 DrepositoryId 為setting.xml 中server中配置的id相同。