利用nexus搭建maven私服
一、安装环境
window10 64位
jdk 1.7
maven3.2
nexus-2.14.5-02
二、安装maven
maven官方网站http://maven.apache.org/,下载maven包,解压缩之后:
然后配置maven环境变量。
三、nexus安装
安装很简单,直接解压缩,解压缩之后的目录结构如下:
然后进入E:\Java\nexus2.4\nexus-2.14.5-02\bin\jsw,里面根据自己的硬件环境选择不同额平台,我这里是window64位,进入之后直接执行console-nexus.bat批处理文件运行(ps:这里有的同学可能会出现启动失败的情况,可能是jdk跟nexus的版本兼容性问题,检查一下自己的jdk版本)。
启动成功之后就可以通过http://localhost:8081/nexus访问私服了。登录账户默认密码为:admin/admin123,登录之后的界面:
各个仓库含义自行百度。
Nexus仓库的默认的地址,nexus-2.1.2\WEB-INF\plexus.properties 中定义的
在Views/Repositories-->Repositories里进行配置, nexus里可以配置3种类型的仓库,分别是proxy、hosted、group
proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里
Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存。
virtual:也是中央仓库镜像,支持M1老版本
- hosted
:宿主仓库 ,该仓库属于该公司私有的
1. 3rd
part : 第三方的jar包,但是该jar包没有在中心仓库保存,驱动.jar
2. snapshot
:测试版本、镜像版本 easyNet.war
3. release :
发行版本
- proxy :
代理仓库 :代理中心仓库的jar包
- public
:仓库组 :虚拟的概念 可以包含其它的仓库
四、配置代理仓库proxy
第一步,添加代理仓库
第二步,配置代理仓库,这里以阿里云为例:
第三步,仓库组进行管理
搜索jar时候组管理先从releases,snapshots,3rd party,centrl,以及过来的oschina搜索。
第四步,上传第三方jar包
提交之后,就可以在仓库里面搜索到jar包,复制pom依赖进去
第五步,配置settings.xml
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<mirrors>
<mirror>
<id>nexus-releases</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>nexus-snapshots</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
</mirror>
</mirrors>
搭建完毕。