Maven 使用 二——nexus

上篇博客介绍了创建maven项目的两种方式,其中一种是使用命令行的方式来创建,这种情况很少,一般我们都有IDE开发环境,所以接下来,我们还是在一个具体的IDE中来说,我使用的是Eclipse。

一、nexus

maven的使用,其中一点便利就是对jar包的引用,我们不再需要费力的去拷贝jar,还有jar包的版本的统一等,弄得项目中存在不同程度的jar包冗余,甚至不同模块的jar包版本还不统一。通过Maven,最终我们只需要共享一份相同的资源即可。
我们的local repository 的资源都是来自同一个地方:central repository。这个central repository 全世界只有一个,资源甚多,我们开发项目需要的资源仅仅是沧海一粟,这来回访问,消耗的时间怎么算,如果网不好,有怎么说?其二,central repository是为全人类服务的,那我们需要的那点资源也无法被我们管理;其三,团体项目不仅需要下载jar包,更多的时候,也需要把开发的jar包,像central repository中的资源一样,放到一个团体共享的地方,被团队调用。于是 nexus 出现了。

Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
nexus + maven 能给我们带来极大便利。

二、Nexus 安装

Nexus一般是搭建在局域网内的,共团队合作开发,管理jar包。
你可以从http://nexus.sonatype.org/downloads/ 下载最新版本的Nexus。Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。第二种方式是WAR,你只须简单的将其发布到web容器中即可使用。我使用的就是第一种方式,第二种木有尝试。

bundle方式安装

  1. 解压nexus-2.5.1-bundle.zip到D:\nexus\nexus-2.5.1-bundle\(可自定义)
  2. 进入nexus\nexus-2.5.1-01\bin\jsw 进入相应的系统文件夹(若系统位64位,jdk位32位,则应进入32位的文件夹下,如:win8 64位系统安装32位JDK,则进入windows-x86-32文件夹)
  3. 右键install-nexus.bat 文件,使用管理员权限运行,第一次运行界面一闪而过,可以再次运行确定是否成功
  4. 右键start-nexus.bat 文件,使用管理员权限运行,成功之后对话框消失,若出现错误,请确认nexus与JDK版本是否匹配。规则如下:
    1.6的JDK支持2.5版本以下的Nexus
    1.7版本的JDK支持2.6版本以下的Nexus
    64位的系统相对上述规则支持的Nexus版本更低

  5. 浏览器输入http://192.168.24.252:8081/nexus (192.168.24.252为nexus安装服务器ip地址),出现如下界面则nexus安装成功。
    Maven 使用 二——nexus_第1张图片
    8081为默认的端口号,要修改端口号可进入nexus-2.1.2-bundle\nexus-2.1.2\conf\打开nexus.properties文件,修改application-port属性值就可以了。

  6. 开启远程索引
    通常到这里,对于nexus的安装还不算完美, 新搭建的neuxs环境只是一个空的仓库,需要手动和远程中心库进行同步,nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus系统,默认用户名密码为admin/admin123。

点击左边Administration菜单下面的Repositories,找到右边仓库列表中的Central,——》configuration下把Download Remote Indexes修改为true。如下图
Maven 使用 二——nexus_第2张图片
等待其下载完成,有时网速比较慢,可能等待的时间比较长,是否现在成功,在 browse index 中进行验证,如图:
Maven 使用 二——nexus_第3张图片

如果下载完成,可以体验一下效果,在左边菜单栏里面有个Artifact Search, 在输入框里面输入你想要搜索的构件名字,比如:junit, 右边显示出所有的查询结果,就成功了。

三、nexus 配置

repository

nexus的仓库类型分为以下四种:
group: 仓库组
hosted:宿主
proxy:代理
virtual:虚拟
同时 nexus中存在 repository group的概念,利用这个group 可以进行批量的管理。
每个repository的简要解释如下:
1. 3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
2. 特定repository ,有两个。 Apache Snapshots和 Codehaus Snapshots,分别代理ApacheMaven和CodehausMaven 仓库的快照版本构件的仓库
3. Central: 用来代理maven中央仓库中发布版本构件的仓库
4. Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
5. 内部版本repository: Releases和Snapshots。
当然我们也可以自己创建repository。

authority

在权限设置这块,只要包含以下三个部分。
1. privilege
2. role
3. user
我们可以自定义设置这三个部分,顺序由上自下,操作步骤都很简单,这里就不做演示。

nexus可以让maven变得更强大。他们之间的关系图如下:
Maven 使用 二——nexus_第4张图片

你可能感兴趣的:(开发工具)