阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Windows下使用Nexus创建私服

422次阅读
没有评论

共计 6923 个字符,预计需要花费 18 分钟才能阅读完成。

一、介绍

Nexus 是一个强大的 Maven 仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用 Nexus 你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个 Artifact。Nexus 是一套“开箱即用”的系统不需要数据库,它使用文件系统加 Lucene 来组织数据。Nexus 使用 ExtJS 来开发界面,利用 Restlet 来提供完整的 REST APIs,通过 m2eclipse 与 Eclipse 集成使用。Nexus 支持 WebDAV 与 LDAP 安全身份认证。

Nexus 的下载地址是:http://www.sonatype.org/nexus/go/ 到官网上将 ZIP 的压缩包下载下来即可,解压之后发现有两个文件夹,一个是 nexus-2.11.0-02,另一个是 sonatype-work;第一个文件夹包含了 Nexus 运行所需要的文件,是运行 Nexus 必须的;第二个文件夹目录包含 Nexus 生成的配置文件、日志文件、仓库文件等,当需要备份 Nexus 的时候,默认备份的是此目录文件。

二、设置环境变量

找到 nexus 目录下 nexus-2.11.0-02 中的 bin 文件夹,将至 bin 的目录路径加入到操作系统的 path 变量中。

使用 Nexus 搭建私服  http://www.linuxidc.com/Linux/2014-03/98707.htm

三、启动

打开 cmd 命令行,输入 nexus 命令,会看到如下提示:start/stop/restart/install/uninstall,只要在 nexus 命令后面加这些命令中的其中之一即可,如下图所示,先安装,然后启动,成功之后可以打开浏览器:http://localhost:8081/nexus/#welcome,看到欢迎界面。单击右上角的“Log In”按钮进行登录,Nexus 的默认管理员账户密码为 admin/admin123。

Windows 下使用 Nexus 创建私服

Windows 下使用 Nexus 创建私服

四、配置 Nexus

登录进去之后,可以看到有 repositories,点击,发现 Releases 和 Snapshots 仓库,其中 Releases 表示内部的模块中 Release 模块的发布仓库,Snapshots 表示发布内部的 Snapshot 模块的仓库。3rd party 表示第三方依赖的仓库,这三种都是 hosted 类型的仓库,其中 Proxy 类型的仓库表示从远程中央仓库中寻找数据的仓库。

Windows 下使用 Nexus 创建私服

我们可以从上图中看到四种仓库类型:group(仓库组)、hosted(宿主)、proxy(代理)和 virtual(虚拟)。其中每种类型的 Format 有 Maven1 或者 Maven2,这里我们不看 Maven1 的。仓库的 Policy(策略)表示该仓库为发布(Release)版本还是快照(Snapshot)版本仓库。

在图 5 中,Nexus 列出了默认的几个仓库:

Public Repositories:仓库组,将所有策略为 Release 的仓库聚合并通过一致的地址提供服务。

3rd party:一个策略为 Release 的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。

Apache Snapshots:策略为 Snapshots 的代理仓库,用来代理 Apache Maven 仓库的快照版本构件。

Central:该仓库代理 Maven 的中央仓库,策略为 Release,只会下载和缓存中央仓库中的发布版本构件。

Central M1 shadow:maven1 格式的虚拟类型仓库。

Codehaus Snapshots:代理 Codehaus Maven 仓库快照版本的代理仓库。

Release:策略为 Release 的宿主类型仓库,用来部署组织内部的发布版本构件。

Snapshots:策略为 Snapshots 的宿主类型仓库,用来部署组织内部的快照版本构件。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-12/110502p2.htm

五、下载索引

点击左侧的 Views/Repositories-> 下面出现 Repositories-> 点击右边的 Central-> 点击下面的 Configuration

Windows 下使用 Nexus 创建私服

将 Download Remote Indexes 值改为 true,点击“save”后,点击左边的“Administration”->”Scheduled Tasks” 链接,如果没有出现“Update Repositories Index”处于 Running 状态,那么需要在 Public Repositories 行右击,点击 ”Update Index”。

Windows 下使用 Nexus 创建私服

然后再点击 Schedule Tasks 就可以看到有任务处于 Running 状态了。

Windows 下使用 Nexus 创建私服

等到索引下载完成之后,就可以在 ”Repositories” 界面中,选择 Browser Index 选项卡,可以看到 Maven 中央仓库内容的树形结构,如下图所示。

Windows 下使用 Nexus 创建私服

在左边的搜索框中输入 Spring 关键字,然后搜索,会出现一大堆与 Spring 相关的结果。

一、介绍

Nexus 是一个强大的 Maven 仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用 Nexus 你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个 Artifact。Nexus 是一套“开箱即用”的系统不需要数据库,它使用文件系统加 Lucene 来组织数据。Nexus 使用 ExtJS 来开发界面,利用 Restlet 来提供完整的 REST APIs,通过 m2eclipse 与 Eclipse 集成使用。Nexus 支持 WebDAV 与 LDAP 安全身份认证。

Nexus 的下载地址是:http://www.sonatype.org/nexus/go/ 到官网上将 ZIP 的压缩包下载下来即可,解压之后发现有两个文件夹,一个是 nexus-2.11.0-02,另一个是 sonatype-work;第一个文件夹包含了 Nexus 运行所需要的文件,是运行 Nexus 必须的;第二个文件夹目录包含 Nexus 生成的配置文件、日志文件、仓库文件等,当需要备份 Nexus 的时候,默认备份的是此目录文件。

二、设置环境变量

找到 nexus 目录下 nexus-2.11.0-02 中的 bin 文件夹,将至 bin 的目录路径加入到操作系统的 path 变量中。

使用 Nexus 搭建私服  http://www.linuxidc.com/Linux/2014-03/98707.htm

三、启动

打开 cmd 命令行,输入 nexus 命令,会看到如下提示:start/stop/restart/install/uninstall,只要在 nexus 命令后面加这些命令中的其中之一即可,如下图所示,先安装,然后启动,成功之后可以打开浏览器:http://localhost:8081/nexus/#welcome,看到欢迎界面。单击右上角的“Log In”按钮进行登录,Nexus 的默认管理员账户密码为 admin/admin123。

Windows 下使用 Nexus 创建私服

Windows 下使用 Nexus 创建私服

四、配置 Nexus

登录进去之后,可以看到有 repositories,点击,发现 Releases 和 Snapshots 仓库,其中 Releases 表示内部的模块中 Release 模块的发布仓库,Snapshots 表示发布内部的 Snapshot 模块的仓库。3rd party 表示第三方依赖的仓库,这三种都是 hosted 类型的仓库,其中 Proxy 类型的仓库表示从远程中央仓库中寻找数据的仓库。

Windows 下使用 Nexus 创建私服

我们可以从上图中看到四种仓库类型:group(仓库组)、hosted(宿主)、proxy(代理)和 virtual(虚拟)。其中每种类型的 Format 有 Maven1 或者 Maven2,这里我们不看 Maven1 的。仓库的 Policy(策略)表示该仓库为发布(Release)版本还是快照(Snapshot)版本仓库。

在图 5 中,Nexus 列出了默认的几个仓库:

Public Repositories:仓库组,将所有策略为 Release 的仓库聚合并通过一致的地址提供服务。

3rd party:一个策略为 Release 的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。

Apache Snapshots:策略为 Snapshots 的代理仓库,用来代理 Apache Maven 仓库的快照版本构件。

Central:该仓库代理 Maven 的中央仓库,策略为 Release,只会下载和缓存中央仓库中的发布版本构件。

Central M1 shadow:maven1 格式的虚拟类型仓库。

Codehaus Snapshots:代理 Codehaus Maven 仓库快照版本的代理仓库。

Release:策略为 Release 的宿主类型仓库,用来部署组织内部的发布版本构件。

Snapshots:策略为 Snapshots 的宿主类型仓库,用来部署组织内部的快照版本构件。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-12/110502p2.htm

六、私有仓库配置
在 Settings.xml 中配置远程仓库,Maven 提供的 profile 是一组可选的配置,可以用来设置或者覆盖配置默认值,在 Setting.xml 文件中加入以下代码,

<profiles>
<profile>
<id>local_nexus</id>
<repositories>
<repository>
<id>local_nexus</id>
<name>local_nexus</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local_nexus</id>
<name>local_nexus</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>local_nexus</activeProfile>
</activeProfiles>

上面的配置中,使用了一个 id 为 local_nexus 的 profile,这个 profile 包含了相关的仓库配置,同时配置中又使用了 activeProfiles 元素将 nexus 这个 profile 激活,这样当执行 Maven 构建的时候,激活的 profile 会将仓库配置应用到项目中去。

通过上面的配置,我们会发现 Maven 除了从 Nexus 下载构件外还会从中央仓库下载构件。既然是私服,那么我们就只希望 Maven 下载请求都仅仅通过 Nexus。我们可以通过镜像实现这一需求。可以创建一个匹配任何仓库的镜像,镜像的地址是私服,这样 Maven 对任何仓库的构件下载请求都会转到私服中。把上面的配置修改为如下配置:

<profiles>
<profile>
<id>local_nexus</id>
<repositories>
<repository>
<id>local_nexus</id>
<name>local_nexus</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>central</id>
<url>http://repo.maven.apache.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local_nexus</id>
<name>local_nexus</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>central</id>
<url>http://repo.maven.apache.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>local_nexus</activeProfile>
</activeProfiles>

七、部署构件到私服

我们在实际开发过程是多个人的,那么总有一些公共模块或者说第三方构件是无法从 Maven 中央库下载的。我们需要将这些构件部署到私服上,供其他开发人员下载。用户可以配置 Maven 自动部署构件至 Nexus 的宿主仓库,也可以通过界面手动上传构件。

使用 Maven 部署构件到 Nexus 私服上

日常开发的快照版本部署到 Nexus 中策略为 Snapshot 的宿主仓库中,正式项目部署到策略为 Release 的宿主仓库中,POM 的配置方式如下:

<distributionManagement>
<repository>
<id>local_nexus_releases</id>
<name>core Release Repository</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>local_nexus_snapshots</id>
<name>core Snapshots Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>

Nexus 的仓库对于匿名用户只是只读的。为了能够部署构件,我们还需要再 settings.xml 中配置验证信息:

<pre name=”code” class=”plain”><servers>
  <server>
  <id>local_nexus_releases</id>
  <username>admin</username>
  <password>admin123</password>
  </server>
  <server>
  <id>local_nexus_snapshots</id>
  <username>admin</username>
  <password>admin123</password>
  </server>
</servers>

其中,验证信息中 service 的 id 应该与 POM 中 repository 的 id 一致。

在 Nexus 界面上手动部署第三方构件至私服

我们除了自己的构件要部署到 Nexus 私服上外,我们有可能还要将第三方构件(如:SQLService 的 JDBC)部署到 Nexus 上。这个时候,在 Nexus 界面上选择一个宿主仓库(如 3rd party),再在页面下方选择 Artifact Upload 选项卡。填写对应的 Maven 坐标。然后点击“Select Artifact(s) for Upload”按钮从本机选择要上传的构件,然后点击“Add Artifact”按钮将其加入到上传列表中。最后,单击页面底部的“Upload Artifact(s)”按钮将构件上传到仓库中。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计6923字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7959446
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...