使用Nexus搭建Maven内部服务器
- 概述
我们在使用maven时,一般通过网络上一些公共的maven仓库来获取jar包,但是有时候会碰到网速比较慢的情况就比较郁闷,Nexus是一个maven的服务器,可以让我们搭建一个本地的jar包管理库,这样我们就可以直接从内网下载jar包,并且可以进行一些相应的管理。
- 准备
Nexus下载地址http://www.sonatype.org/nexus
- 安装
- 将安装包解压到一个目录,比如d:/mvn
- 进入D:\mvn\nexus-2.7.0-05\bin\jsw\windows-x86-32,运行install-nexus.bat
- 进入D:\mvn\nexus-2.7.0-05\bin,运行nexus.bat
- 打开浏览器,访问 http://127.0.0.1:8081/nexus,账号为:admin,密码为:admin123
- 常用概念的说明
点击左侧Repositories,这里有几种Repositories:hosted——指的是内网仓库;proxy——指的是如果nexus服务器上没有的jar包,去外网下载的仓库;group——仓库组
,一开始我们的本地仓库中是没有jar包的,当客户端访问我们的本地仓库时,本地仓库会先检查本地是否有相应的jar包,如果没有,则外网的仓库下载到本地仓库。
,一开始我们的本地仓库中是没有jar包的,当客户端访问我们的本地仓库时,本地仓库会先检查本地是否有相应的jar包,如果没有,则外网的仓库下载到本地仓库。
- 配置远程仓库
点击左侧Repositories,选择Maven Central,点击并选择configration,有以下几个有用的配置:
- Override local storage location: 在这个选项你可以配置你的Nexus本地仓库的存放地址,用来覆盖其默认的存放地址
- Remote storage location: 这里是远程仓库的地址,为了提高代理速度,你可以修改为国内的镜像地址。默认值是http://repo1.maven.org/maven2/
- Download remote indexes: 这里配置是否下载远程索引文件,模式是false, 建议配置为true, 这样我们便可以通过索引文件来搜索我们需要的构件
- 配置本地仓库
Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party,分别代表以下意义:
- Releases: 这里存放我们自己项目中发布的构建。
- 这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为 你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你 的同伴就可以通过简单的命令来获取和使用这个临时版本。
- 第三方库,我们可以将自己开发的一些工具jar包放在其中。
- 配置仓库组
通过仓库组,可以将以上的远程仓库和本地仓库组合起来,应用于项目当中,Nexus中预设了2个仓库组,public repositories和public snapshot repositories,public repositories这个仓库组默认包含本地仓库Releases、 snapshots、 3rd party和代理仓库Maven Central。 你可以在Configuration配置页选择添加仓库到这个仓库组, 如果有需要,还可以另外创建新的仓库组。
- 客户端如何应用我们的maven内部服务器
将客户端的maven settting文件中url修改为maven内部服务器的地址:
<repository> <id>nexus</id> <url>http://127.0.0.1:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository>
生命不息,折腾不止!