1. 程式人生 > >maven 私服搭建nexus 3.0.1,安裝,使用

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相同。