-----------------------siwuxie095
Maven 私服搭建
1、私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,
目的是代理远程仓库以及部署第三方构件
有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服
上存在则下载到本地仓库;否则私服请求外部的远程仓库,将构件
下载到私服,再提供给本地仓库下载
2、常用的 Maven 仓库管理软件(也称 仓库管理器):
(1)Apache Archiva
(2)JFrog Artifactory
(3)Sonatype Nexus(建议)
3、Sonatype Nexus 共有两个版本:
(1)Nexus Repository Pro,即 专业版(付费)
(2)Nexus Repository OSS,即 开源版(免费)
4、这里选择 Nexus Repository OSS,下载链接:
https://www.sonatype.com/download-oss-sonatype
其实 Nexus Repository OSS 的安装包也有两个版本:
(1)包含 Jetty 容器的 bundle 包
(2)不包含 Web 容器的 war 包
但截止目前(2017/9/23),官方已不再支持 war 包,
最后一个版本的 war 包的下载链接:
http://www.sonatype.org/downloads/nexus-latest.war
5、这里下载 Nexus 2.x 版本,将下载后的 nexus-2.14.5-02
-bundle.zip 解压一览:
「解压路径:D:Nexus,解压 即 安装」
(1)nexus-2.14.5-02
该目录包含 Nexus 运行所需要的文件,如:启动脚本、依赖
的 jar 包
(2)sonatype-work
该目录包含 Nexus 生成的配置文件、日志文件、仓库文件等
6、配置 Nexus 的环境变量
(1)新建系统变量 NEXUS_HOME
变量名:NEXUS_HOME,变量值:D:Nexus exus-2.14.5-02
(2)编辑系统变量 Path
变量名:Path,变量值:%NEXUS_HOME%in
7、将 Nexus 安装成为 Windows 服务
(1)法一:通过自带的脚本进行安装
1)进入 D:Nexus exus-2.14.5-02binjsw 目录,找到
对应的系统版本
2)运行 intall-nexus.bat 即可
3)自带脚本介绍
console-nexus.bat |
独立启动 Nexus 服务 |
intall-nexus.bat |
安装 Nexus 服务 |
start-nexus.bat |
启动 Nexus 服务 |
stop-nexus.bat |
停止 Nexus 服务 |
uninstall-nexus.bat |
卸载 Nexus 服务 |
注:独立启动 Nexus 服务,即:只是暂时启动,一旦
命令行窗口关闭,服务将停止,不会驻留在 Windows
服务中
(2)法二:通过手动输入命令进行安装
1)打开命令行窗口,直接输入命令 nexus install
2)常用命令介绍
nexus console |
独立启动 Nexus 服务 |
nexus start |
启动 Nexus 服务 |
nexus stop |
停止 Nexus 服务 |
nexus restart |
重启 Nexus 服务 |
nexus install |
安装 Nexus 服务 |
nexus uninstall |
卸载 Nexus 服务 |
7、将 Nexus 服务设置为手动
启动和停止 Nexus 服务有两种命令:
(1)nexus start 和 nexus stop
(2)net start nexus 和 net stop nexus
8、打开浏览器,访问:http://localhost:8081/nexus/,即可
看到 Nexus 的欢迎页面
注:Jetty 容器的默认端口是 8081,如果本机有其它程序占用了
该端口,可以到 D:Nexus exus-2.14.5-02conf 路径下找到
nexus.properties,修改 application-port 的值即可
9、点击右上角 Log In,默认用户名:admin,默认密码:admin123
10、点击左侧导航栏的 Repositories,查看 Nexus 内置的仓库
不难看出:
(1)仓库按类型(Type)分共有四种
group |
仓库组 |
hosted |
宿主 |
proxy |
代理 |
virtual |
虚拟 |
(2)仓库按格式(Format)分共有两种
maven2 |
- |
maven1 |
由于太老,不再使用 |
(3)仓库按策略(Policy)分共有两种
Release |
发布版本,即 正式版本 |
Snapshot |
快照版本,即 测试版本 |
总而言之:
Public Repositories |
仓库组 |
用来将下述所有仓库聚合并通过一致的地址提供服务 |
Releases |
宿主仓库 |
用来部署组织(或 公司)内部的发布版本构件 |
Snapshots |
宿主仓库 |
用来部署组织(或 公司)内部的快照版本构件 |
3rd party |
宿主仓库 |
用来部署无法从公共仓库获得的第三方发布版本构件 |
Apache Snapshots |
代理仓库 |
用来代理 Apache Maven 仓库的快照版本构件 |
Central |
代理仓库 |
用来代理中央仓库的发布版本构件 |
Central M1 shadow |
虚拟仓库 |
用来提供中央仓库中 maven1 格式的发布版本构件 |
11、一般情况下,只需要使用如下仓库:
Public Repositories |
仓库组 |
|
Releases |
宿主仓库 |
|
Snapshots |
宿主仓库 |
|
3rd party |
宿主仓库 |
http://localhost:8081/nexus/content/repositories/thirdparty/ |
Central |
代理仓库 |
12、添加代理仓库,如:添加 Sonatype 的公共仓库
(1)点击 Add->Proxy Repository
(2)填写相关信息,主要如下:
Repository ID |
sonatype-releases |
Repository Name |
Sonatype Releases |
Provider |
Maven2 |
Repository Policy |
Release |
Remote Storage Location |
13、将 Sonatype Releases 代理仓库添加到仓库组
选择仓库组 Public Repositories,点击 Configuration,通过中间
的按钮,将 Sonatype Releases 从 Available Repositories 移动到
Ordered Group Repositories
注意:仓库组中的仓库顺序直接决定了构件的下载顺序
建议:把代理仓库放在后面
14、开启远程索引:为了更好的使用 Nexus 私服的搜索,需要
将所有代理仓库的远程索引下载下来
(1)依次选择代理仓库,点击 Configuration,将 Download
Remote Indexes 设置为 true
(2)依次选择代理仓库,右键->Repair Index
注:
Repair Index 和 Update Index 的区别:
前者是从头开始重建所有索引,后者则是对增量索引进行更新
参考链接:
15、有了索引,就可以在左侧导航栏的搜索框处进行搜索了
参考链接:
【made by siwuxie095】