使用Nexus搭建Maven内部服务器

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