Maven私服搭建

-----------------------siwuxie095

   

   

   

   

   

   

   

   

   

Maven 私服搭建

   

   

1、私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,

目的是代理远程仓库以及部署第三方构件

   

有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服

上存在则下载到本地仓库;否则私服请求外部的远程仓库,将构件

下载到私服,再提供给本地仓库下载

   

   

   

   

   

   

2、常用的 Maven 仓库管理软件(也称 仓库管理器):

   

1Apache Archiva

   

2JFrog Artifactory

   

3Sonatype Nexus(建议)

   

   

   

   

3、Sonatype Nexus 共有两个版本:

   

1Nexus Repository Pro,即 专业版(付费)

   

2Nexus 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,解压 安装」

   

1nexus-2.14.5-02

   

该目录包含 Nexus 运行所需要的文件,如:启动脚本、依赖

的 jar 包

   

   

2sonatype-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 服务有两种命令:

   

1nexus startnexus stop

   

2net start nexusnet 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、一般情况下,只需要使用如下仓库:

   

   

   

   

   

   

   

12、添加代理仓库,如:添加 Sonatype 的公共仓库

   

1)点击 Add->Proxy Repository

   

   

   

   

2)填写相关信息,主要如下:

   

Repository ID

sonatype-releases

Repository Name

Sonatype Releases

Provider

Maven2

Repository Policy

Release

Remote Storage Location

https://repository.sonatype.org/content/groups/public/

   

   

   

   

   

   

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 IndexUpdate Index 的区别:

   

前者是从头开始重建所有索引,后者则是对增量索引进行更新

   

   

参考链接:

   

https://support.sonatype.com/hc/en-us/articles/213465468-What-do-all-of-the-search-index-related-scheduled-tasks-do-and-when-should-I-schedule-them

   

   

   

   

15、有了索引,就可以在左侧导航栏的搜索框处进行搜索了

   

   

   

   

   

参考链接:

   

参考链接1参考链接2参考链接3

   

   

   

   

   

   

   

   

   

   

【made by siwuxie095】

原文地址:https://www.cnblogs.com/siwuxie095/p/7587971.html