轉載於:http://blog.csdn.net/jun55xiu/article/details/43051627
1 應用場景:SYS-UTIL(系統工具)項目部署、構建成JAR包(SYS-UTIL-XXX.jar)存儲到Nexus私服上,以供其它項目(依賴)使用
2 目的:通過Nexus網頁服務器管理項目開發各周期中不同版本的JAR包(如SYS-UTIL-0.0.1.jar,....................SYS-UTIL-1.0.1.jar)
3 操作過程:
1) 創建SYS-UTIL(系統工具)項目,即Maven 項目
2 配置SYS-UTIL(系統工具)項目POM.xml文件,指定項目存儲的Nexus URL 位置(具體可參考上面配置)
3) 右擊項目,依次執行:Run As --> Run Configurations ---> Maven Build --->New _Configuration(雙擊Maven Build可生成) --> Browse Workspace 選中項目,
Goals輸入 : deploy -e 后,點擊 Run
如圖2:
3.2)細節補充
1 弄清楚Nexus 本地Maven倉庫Policy(策略)
Nexus預定義了3個本地倉庫,分別為Releases,Snapshots,和3rd Party。這三個倉庫都有各自明確的目的。Releases用於部署我們自己的release構件,Snapshots用於部署我們自己的snapshot構件,而3rd Party用於部署第三方構件,有些構件如Oracle的JDBC驅動,我們不能從公共倉庫下載到,我們就需要將其部署到自己的倉庫中。
當然你也可以創建自己的本地倉庫,步驟和創建代理倉庫類似,點擊Repository面板上方的Add按鈕,然后選擇Hosted Repository,然后在下方的配置面板中輸入id和name,注意這里我們不再需要填寫遠程倉庫地址,Repository Type則為不可修改的hosted,而關於Repository Policy,你可以根據自己的需要選擇Release或者Snapshot
目的:即提交JAR包到Nexus上的 倉庫策略在Eclipse POM.XML文件要對應
POM。XML:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.vrv</groupId>
<artifactId>SYS-UTIL</artifactId>
<version>1.0.1</version><!-- 對應Releases Policy(策略) -->
<!-- <version>1.0.1-snapshots</version> 對應snapshotsPolicy(策略) -->
<packaging>jar</packaging>
<dependencies>
。。。
此處以將:BAST-UTIL(系統工具)項目)打成公共JAR包提交到:
http://192.168.3.10:88:8081/nexus/content/repositories/vrv_FrameWork
2 開通用戶對應的DeployMent Policy 權限,允許上傳DeployMent,否則會報:maven error code 400, bad request
3 配置認證要統一,否則會報:Return code is: 401, ReasonPhrase:Unauthorized.
maven目錄conf的setting.xml里
<server>
<id>vrv_FrameWork</id>
<username>CJ</username>
<password>XXXX</password>
</server>
pom.xml里遠程deploy的地址對應一致
pom.xml里配置:
<distributionManagement>
<repository>
<id>Vrv_FrameWork</id>
<name>vrv_FrameWork</name>
<url>http://192.168.3.10:88:8081/nexus/content/repositories/vrv_FrameWork</url>
</repository>
</distributionManagement>
<build>
<finalName>SYS-UTIL</finalName>
</build>
4 再次Goals輸入 : deploy -e 后,點擊 Run,就可以提交JAR到NExus服務器上
5 如圖: