公司通常都有个本身的私服来管理各类jar包,缘由大概有这么3个,分别是:windows
一、有的公司不能访问外网,只能经过私服来管理jar包和插件;安全
二、公司网速比较慢,经过公司的私服来获取jar包比较快;eclipse
三、内部的的一些jar包放在私服上,比较方便的你们使用。学习
这里简单介绍下搭建Nexus环境,而且在eclipse mvn插件环境下来上传jar包。url
说明:这里是Windows环境,Linux相似。spa
一、下载Nexus安装文件:http://www.sonatype.org/nexus/go ,目前是nexus-2.13.0-01-bundle.tar.zip这个最新版本;.net
二、解压到任意目录,我这里解压到E盘,进入E:\nexus-2.13.0-01\bin\jsw\windows-x86-64,点击install-nexus.bat安装成为windows服务,这里选择本身计算机对应的文件;插件
三、访问http://localhost:8081/nexus/,这就是私服;3d
四、点击右上角登陆,默认账号admin,密码admin123;code
五、点击左边Repositories,能够看到一系列仓库类型,咱们通常使用3个,分别是Releases,Snapshots和3rd party。这3个仓库风别是装稳定版,开发版和第三方jar包 。
六、举例,手动上传一个jar到Releases仓库里面。
七、上面是手动方式,另一种是利用mvn直接发布到私服上面来,须要修改2个地方,第一是在settings文件的servers节点下加入,这是配置私服的密码和仓库,配合pom文件中的仓库地址就构成了完成的访问私服的要素,账号和密码之因此在settings中设置,是因为settings文件是本地的,而pom.xml文件是公共的,不安全,因此放在settings中:
<server> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server>
第二是在pom.xml中增长,下面的id和settings中的id必需要同样。
<distributionManagement> <repository> <id>nexus-release</id> <name>Nexus Release Repository</name> <url>http://localhost:8081/nexus/content/repositories/release/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
上面的私服两个仓库的url从什么地方获取呢?以下图:
八、新建一个mvn项目,
一、运行source:jar在target下生成源码jar包;
二、运行deploy,class的jar包发布到私服;
三、运行source:jar deploy,连同源码一块儿发布到私服。
九、完成,在其余项目中可使用上面的jar包了。
十、a.贴两个之前遇到过的小异常过来,在eclipse中配置mvn的时候能够分别配置mvn的目录和settings文件,不过最好是两者是同一个版本的,否则有可能就会出问题。
b.咱们有时候明明<dependency>没写错,却恰恰各类报错,能够删掉本地对应的jar,从新下载,就ok了。
十一、学习建议:mvn这个东西,就是难者不会,会者不难。基本上按照这样一个路线就问题不大,基本使用 => 了解继承/聚合 => 了解jar包冲突机制,并解决冲突 =>了解mvn的3个默认声明周期 ,生命周期的各个阶段phase ,各个阶段的目标goal => mvn的插件开发 => Nexus私服搭建及其使用。大体这样一个过程下来,就能很是熟悉mvn,若是在稍微看看mvn的源码,大体看一看,基本上能够说是精通mvn了。
《Nexus3.x.x上传第三方jar》参考:http://blog.csdn.net/iopfan/article/details/71107686