Maven 私服其实并不是 Maven 的核心概念,它仅仅是一种衍生出来的特殊的仓库,但这并不代表它不重要,相反由于私服具有降低中央仓库负荷、节省外网带宽、以及提高项目稳定性等优点,使得私服在实际开发过程中得到了相当普遍地使用。
能够帮助我们建立私服的软件被称为 Maven 仓库管理器,主要有以下 3 种:
Apache Archiva
JFrog Artifactory
Sonatype Nexus
其中,Sonatype Nexus 是当前最流行,使用最广泛的 Maven 仓库管理器。Nexus 分为开源版和专业版,其中开源版足以满足大部分 Maven 用户的需求。
Nexus 开源版具有以下优点:
占用内存小(28 M 左右)
具有基于 ExtJs 得操作界面,用户体验较好
使用基于 Restlet 的完全 REST API
支持代理仓库、宿主仓库和仓库组
基于文件系统,不需要依赖数据库
支持仓库管理
支持构件搜索
支持在界面上上传构件
Nexus 专业版需要付费购买,它主要包含一些企业级的高级特性,详情请参考 Sonatype Nexus 官方文档。
目前 Nexus 分为 Nexus 2.x 和 Nexus 3.x 两个大版本,它们是并行的关系,目前使用最多,运行最稳定的是 Nexus 2.x,下面我们以 Nexus 2.x 为例,演示 Nexus 的安装过程。
2. 将下载 Nexus 安装包解压到本地磁盘,可获得 nexus-2.14.20-02 和 sonatype-work 2 个目录,如下图。
其中:
nexus-2.14.20-02:该目录中包含了 Nexus 2.x 运行所需要的文件,如启动脚本、依赖 jar 包等。
sonatype-work:该目录中包含了 Nexus 2.x 生成的配置文件、日志文件等。
nexus-2.14.20-02 目录说明,如下表所示。
其中:
console-nexus.bat:启动 Nexus 并在 DOS 命令行中展示启动过程。
install-nexus.bat:将 Nexus 安装为 Windows 服务,开机自动启动。
start-nexus.bat:启动 Nexus。
stops-nexus.bat:停止 Nexus。
uninstall-nexus.bat:与 install-nexus.bat 相对应,负责卸载 Nexus 服务。
注意:
运行 install-nexus.bat 安装服务,若提示”wrapper | OpenSCManager failed - 拒绝访问。 (0x5)“,只要关闭窗口,以管理员身份运行即可解决。
运行 start-nexus.bat 启动服务,若提示”wrapper | OpenSCManager failed - 拒绝访问。 (0x5)“,只要关闭窗口,以管理员身份运行即可解决。