转载于: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 如图: