一、环境
操作系统:Windows XP,
JDK:JDK 1.6.0
Nexus:nexus-oss-webapp-1.8.0.1-bundle.zip
其他软件:Cygwin 、apache-maven-3.0.2。
二、下载和安装
1、下载
进入链接http://nexus.sonatype.org/downloads/,下载目前的最新版本nexus-oss-webapp-1.8.0.1-bundle.zip到E:/。
2、安装
Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。第二种方式是WAR,你只须简单的将其发布到web容器中即可使用。本文档只演示bundle安装。
A、解压nexus-oss-webapp-1.8.0.1-bundle.zip到E:/,目录E:/nexus-oss-webapp-1.8.0.1-bundle下有两个文件夹。
B、开始->运行->cmd,到目录E:/nexus-oss-webapp-1.8.0.1-bundle/nexus-oss-webapp-1.8.0.1/bin/jsw/windows-x86-32下启动nexus.bat,看到“Started SelectChannelConnector@0.0.0.0:8081”则表明nexus启动成功。
C、然后打开浏览器,访问http://127.0.0.1:8081/nexus,会看到如下的页面:
D、要停止Nexus,Ctrl+C即可,此外InstallNexus.bat可以用来将Nexus安装成一个windows服务,其余的脚本则对应了启动,停止,暂停,恢复,卸载Nexus服务。
3、应用
A、Nexus定义
Nexus是Maven中间代理的仓库管理器,介于本地仓库(settings.xml的设置地方)和Maven中央仓库之间。
在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。
B、Nexus特征
提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
C、登录
点击页面右上角的login,输入默认的用户名和密码:admin/admin123。
登陆后的界面如下:
页面可以管理仓库,配置Nexus系统,管理任务,管理用户,角色,权限,查看系统的RSS源,管理及查看系统日志,等等。你会看到Nexus的功能十分丰富和强大。
D、代理Maven中央仓库
点击左边导航栏的views/Repositories->Repositories,界面的主面板会显示所有一个所有仓库及仓库组的列表。
Type字段值有group,hosted,proxy,virtual。这里我们不关心virtual,只介绍下另外三种类型。
类型
类型名称
类型含义
hosted
本地仓库
部署自己的构件到这一类型的仓库
proxy
代理仓库
代理远程的公共仓库,如maven中央仓库
goup
仓库组
用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组
我们需要配置一个Maven中央仓库的proxy,其实Nexus已经内置了Maven Central,但我们需要做一些配置。
E、添加一个代理仓库
我们想要代理Sonatype的公共仓库,其地址为:http://repository.sonatype.org/content/groups/public/。步骤如下,在Repositories面板的上方,点击Add,然后选择Proxy Repository,在下方的配置部分,我们填写如下的信息:Repository ID - sonatype;Repository Name - Sonatype Repository;Remote Storage Location - http://repository.sonatype.org/content/groups/public/。其余的保持默认值,需要注意的是Repository Policy,我们不想代理snapshot构件,原因前面已经描述。然后点击Save。配置页面如下:
F、管理本地Maven仓库
Nexus预定义了3个本地仓库,分别为Releases,Snapshots,和3rd Party。这三个仓库都有各自明确的目的。
本地仓库
本地仓库含义
Releases
部署自己的release构件
Snapshots
部署自己的snapshot构件
3rd Party
部署第三方构件,如Oracle的JDBC驱动
可以创建自己的本地仓库,步骤和创建代理仓库类似,点击Repository面板上方的Add按钮,然后选择Hosted Repository,然后在下方的配置面板中输入id和name,注意这里我们不再需要填写远程仓库地址,Repository Type则为不可修改的hosted,而关于Repository Policy,你可以根据自己的需要选择Release或者Snapshot。
G、部署构建至Nexus
添加本地的jxl.jar,如下所示
同理添加mysql-connector-java-5.1.0-bin.jar,查看添加的3rd party如下图:
Pom.xml文件:
在Maven的settings.xml配置文件中使用Nexus:
nexus-releases
admin
admin123
nexus-snapshots
admin
admin123
dev
local-nexus
http://127.0.0.1:8081/nexus/content/groups/public/
true
true
dev
H、检验部署构建是否成功
修改dbviewer中的pom.xml依赖为:
com.run
mysql-connector
5.1.0
bin
com.run
jxl
2.0
运行mvn package命令:
打包成功:
查看目录E:/maven_project/dbviwer/target存在dbviwer-1.0-SNAPSHOT.jar,如图:
四、附录
安装和应用的一些知识请参考链接:http://juvenshun.javaeye.com/blog/349534。