nexus和artifactory功能类似,可做maven的服务器代理和镜像,从而减少maven占用Internet网络带宽。以前用过一段时间artifactory。有时会出一些情况,比如下载文件不全等等,需要手工清除。今天安装和使用一下nexus,做个比较。
安装
假设已经安装和正常启动tomcat6,下载nexus的war文件:
http://nexus.sonatype.org/downloads/nexus-webapp-1.2.0.2.war
改名为nexus.war,复制到webapps目录下,安装完毕。
简单使用
访问nexus:
会发现它使用的是ext2.2实现的web界面。
登录,默认用户名和密码是:admin/admin123。
设置本地maven的settings.xml文件,在.m2目录下,内容如下:
<?xml version="1.0"?> <settings> <mirrors> <mirror> <id>Nexus</id> <name>Nexus Public Mirror</name> <url>http://10.0.0.9:8080/nexus/content/groups/public</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
运行mvn命令,maven将通过设置的镜像下载所需的pom和jar文件。在nexus的界面views>browse repositories>public repositories,可以看到repository content中出现了类似.m2/repositories中的目录结构和文件:
nexus支持google gear功能,可以通过chrome设置为类似桌面程序。
通过快速启动栏启动:
nexus的ext界面对内存消耗并不大:
基本设置:远程索引和重建索引
什么是远程索引?
每一个仓库都包含了数千(或数万)的构件,下载每个仓库的所有内容是不切实际的。出于这个原因,大部分仓库维护了一个编录了整个内容的Lucene索引,以提供快速和有效的搜索。
默认情况下为什么没有打开远程索引?
Sonatype不想在默认情况下对其中央仓库下载索引造成大量负载,虽然大部分用户会想要开启远程索引下载,因此默认设置为不打开远程索引。
如何打开远程索引?
逐一选择proxy类型的仓库,将download remote indexs设置为true:
逐一选中proxy类型,鼠标右键菜单,re-index: