当前位置:   article > 正文

Nexus下载、安装与使用

nexus

下载Nexus

请根据自己需要选择对应版本
Nexus 3.x:下载链接地址
Nexus 2.x: 下载链接地址
这里以Nexus 2.15.1-02版本为例
在这里插入图片描述
将下载 Nexus 安装包解压到本地磁盘,可获得 nexus-2.15.1-02 和 sonatype-work 2 个目录,如下图。
在这里插入图片描述
其中:
nexus-2.15.1-02:该目录中包含了 Nexus 2.x 运行所需要的文件,如启动脚本、依赖 jar 包等。
sonatype-work:该目录中包含了 Nexus 2.x 生成的配置文件、日志文件等。

nexus-2.15.1-02文件夹包含以下内容

在这里插入图片描述
进入对应的 \nexus-2.15.1-02\bin\jsw 文件夹,根须操作系统版本选择合适的目录,由于我的操作系统是 Windows 10 64 位,所以我选择 windows-x86-64 目录,如下图所示。

在这里插入图片描述
其中:

  • 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安装nexus服务,安装后以管理员身份运行start-nexus.bat启动nexus服务。

访问 http://localhost:8081/nexus,结果如下图,则表示服务启动成功,否则表示服务启动失败。

可能出现的错误

若是安装服务,并且正常启动后无法在浏览器中打开对应主页,可能是8081端口被占用,或者Nexus安装目录 bin\jsw\conf\wrapper.conf中的java配置错误导致启动失败(两种错误,错误1:版本错误,错误2:路径错误)。

端口被占解决方法:打开\nexus-2.15.1-02-bundle\nexus-2.15.1-02\conf目录下的nexus.properties文件,修改端口application-port=8181,如下图。
在这里插入图片描述
版本配置错误解决方法:打开\nexus-2.15.1-02-bundle\nexus-2.15.1-02\bin\jsw\conf目录下的wrapper.conf文件,修改配置文件
wrapper.java.command=D:/Java/jdk1.8.0_321/bin/java
在这里插入图片描述

Nexus整体介绍

开启nexus服务后,在浏览器地址中输入localhost:8081/nexus,出现如下图结果表示正常启动。
在这里插入图片描述
点击LogIn登录,默认账号:admin,密码:admin123,登录成功后打开配置文件。
在这里插入图片描述
在仓库列表中,每个仓库都具有一系列属性:

  • Type:仓库的类型,Nexus 中有 4 中仓库类型:group(仓库组)、hosted(宿主仓库)、proxy(代理仓库)以及 virtual(虚拟仓库)。
  • Format:仓库的格式。
  • Policy:仓库的策略,表示该仓库是发布(Release)版本仓库还是快照(Snapshot)版本仓库。
  • Repository Status:仓库的状态。
  • Repository Path:仓库的路径。

由上图可知,Nexus 2.x 默认创建了 6 个仓库,我们称它们为 Nexus 内置仓库。
Maven Central:该仓库用来代理 Maven 中央仓库,其策略为 Release,只会下载和缓存中央仓库中的发布版本的构件。
Releases:策略为 Release 的宿主仓库,用来部署公司或组织内部的发布版本构件。
Snapshots:策略为 Snapshot 的宿主仓库,用来部署公司或组织内部的快照版本构件。
3rd party:策略为 Release 的宿主仓库,用来部署第三方发布版本构件,这些构件一般无法从任何远程仓库中获得。
Public Repositories:该仓库组将上述所有存储策略为 Release 的仓库聚合并通过统一的地址提供服务。

Nexus仓库分类

Nexus 仓库按照类型(Type)区分,主要分为以下 3 个类型:
代理仓库(proxy):用来代理远程公共仓库,如 Maven 中央仓库、JBoss 远程仓库。
宿主仓库(hosted):又称 Nexus 本地仓库,该仓库通常用来部署本地项目所产生的构件。
仓库组(group):用来聚合代理仓库和宿主仓库,为这些仓库提供统一的服务地址,以便 Maven 可以更加方便地获得这些仓库中的构件。

为了更加直观的理解仓库组、代理仓库和宿主仓库的概念,我们通过下图展示它们的用途和区别。

在这里插入图片描述
由上图可知:

  • Maven 可以直接从宿主仓库中下载构件。
  • Maven 也可以从代理仓库中下载构件,代理仓库会从远程仓库下载并缓存构件。
  • Maven 还可以从仓库组中下载构件,仓库组会从其包含的宿主仓库和代理仓库中获取构件。

创建 Nexus 宿主仓库

首先,我们需要创建两个宿主仓库,分别用来存储从本地上传到 Nexus 的 Snapshot 和 Release 版本的构件,操作步骤如下。
1、点击左侧Repositories进入仓库
在这里插入图片描述

2、点击Add…中Hosted Repository创建宿主仓库
在这里插入图片描述

3、在宿主仓库配置界面填写对应信息,之后按save保存仓库
在这里插入图片描述

4、查看仓库列表可以发现,已经创建了对应的仓库
在这里插入图片描述

重复上述步骤,创建名为osrookie_Release_hosted的仓库
在这里插入图片描述
宿主仓库配置含义如下:

配置说明
Repository ID仓库 ID。
Repository Name仓库名称。
Repository Type仓库的类型,如 hosted、proxy 等等。
Provider用来确定仓库的格式,一般默认选择 Maven2。
Repository Policy仓库的策略。
Default Local Storage Location仓库默认存储目录,例如 D:\nexus-2.15.1-02-bundle\sonatype-work\nexus\indexer\osrookie_Snapshot_hosted_ctx。
Override Local Storage Location自定义仓库存储目录。
Deployment Policy仓库的部署策略。
Allow File Browsing用来控制是否允许浏览仓库内容,一般选择 true。
Include in Search用来控制该仓库是否创建索引并提供搜索功能。
Publish URL用来控制是否通过 URL 提供服务。
Not Found Cache TTL缓存某构件不存在信息的时间,默认取值为 1440,表示若某一个构件在仓库中没有找到,在 1440 分钟内再次接收到该构件的请求,则直接返回不存在信息,不会再次查找。

创建代理仓库

1、点击左侧Repositories进入仓库
在这里插入图片描述
2、点击Add…中Proxy Repository创建代理仓库
在这里插入图片描述
3、在代理仓库配置界面填写对应信息,之后按save保存仓库
在这里插入图片描述
在这里插入图片描述
4、查看仓库列表可以发现,已经创建了对应的仓库
在这里插入图片描述

代理仓库配置中,仓库 ID、仓库名称、Provider、Policy 以及 Default Local Storage Location 等配置的含义与宿主仓库相同,不再赘述。需要注意的是,代理仓库的 Repository Type 的取值是 proxy。
代理仓库配置表如下:

配置说明
Remote Storage Location远程仓库或中央仓库的地址,它是 Nexus 代理仓库最重要得配置,必须输入有效值,通常取值为 https://repo1.maven.org/maven2/。
Download Remote Indexes是否下载远程仓库的索引。
Auto Blocking Enabled是否启用自动阻止,即当 Nexus 无法连接中央仓库或远程仓库时,是否一直等待。取值为 true 表示不再等待,直接通知客户端无法连接,并返回。
File Content Validation是否启用文件内容校验。
Checksum Policy配置校验和出错时的策略,用户可以选择忽略、警告、记录警告信息或拒绝下载等多种策略。
Artifact Max Age构件缓存的最长时间,对于发布版本仓库来说,默认值为 -1,表示构件缓存后,就一直保存着,不再重新下载。对于快照版本仓库来说,默认值为 1440 分钟,表示每隔一天重新缓存一次代理的构件。
Metadata Max Age仓库元数据缓存的最长时间。
Item Max Age项目缓存的最长时间。

创建Nexus仓库组

下面我们将创建一个仓库组,并将刚刚创建的 3 个仓库都聚合起来,操作步骤如下。
点击仓库列表上方的 Add… 按钮,在下拉菜单中选择 Repository Group,如下图。

1、点击左侧Repositories进入仓库
在这里插入图片描述
2、点击Add…按钮下的Repository Group按钮进入仓库组配置
在这里插入图片描述
3、在仓库组配置界面,填写对应信息,并将 osrookie_central_proxy、osrookie_Release_hosted 和 osrookie_Snapshot_hosted 3 个仓库添加到仓库组中,最后点击 Save 按钮进行保存,如下图。
在这里插入图片描述
4、查看仓库列表可以发现,已经创建了对应的仓库组
在这里插入图片描述

Nexus索引与搜索

我们知道,Maven 中央仓库为用户提供了多达数十万构件,而 Nexus 可以代理所有的远程仓库(包括 Maven 中央仓库),可见 Nexus 仓库中构件的数量相当庞大。用户想要在这么多构件中,快速的查找自己所需的构件,一个最直接有效的方式就是:搜索。

Nexus 作为一款成熟的仓库管理工具,它通过维护仓库的索引提供了构件搜索功能,以便帮助用户方便快速地找到所需构件。

本节我们将详细为您介绍 Nexus 索引以及构件搜索功能。

索引

Nexus 能够遍历仓库的所有内容,搜集它们的坐标,校验和以及所包含的 Java 类等信息,然后以索引( nexus-indexer) 的形式保存起来。Nexus 索引保存在 Nexus 安装目录下 \sonatype-work\nexus\indexer 目录中,该目录下每个子目录都代表 Nexus 中的一个仓库,用来存放各个仓库的索引 ,如下图所示。
在这里插入图片描述
大多数的远程公共仓库(例如,中央仓库)都维护了一个这样的索引,因此本地的 Nexus 在下载到这个索引后,就能在此基础上为用户提供构件搜索和浏览等服务。需要注意的是,并不是所有的公共仓库都提供了索引 ,对于那些没有提供索引的仓库来说,我们是无法对其进行搜索的。

下载索引

Nexus 索引下载功能默认是关闭的,如果想在 Nexus 中搜索远程仓库中的构件,就需要先开启索引下载功能。

以 osrookie_central_proxy 代理仓库(代理 Maven 中央仓库)为例,在图 中 所示的位置就可以控制它的索引下载功能,true 表示开启索引下载,false 表示关闭索引下载。
在这里插入图片描述
开启索引下载功能后,右键单击仓库,点击Update Index更新仓库索引
在这里插入图片描述

点击导航栏中 Scheduled Tasks 链接,查看调度任务列表。若 Nexus 正在下载索引,我们就能看到如图所示位置的任务,其任务状态为 Running。在索引下载完毕后,该任务就会消失。
在这里插入图片描述

由于 Maven 中央仓库的内容较多,其索引文件比较大,因此 Nexus 下载文件所需的时间较长,需要我们耐心等待。

索引下载完成后,点击仓库列表中的 osrookie_central_proxy 代理仓库,然后在列表下方选择 Browse Index 选项卡,我们可以看到该仓库内容的树形结构,如图所示。

写累了,之后有时间再写。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/124653
推荐阅读
相关标签
  

闽ICP备14008679号