Maven私服处理逻辑 Nexus安装启动/初始配置/下载部署jar包

目录

Maven私服处理逻辑

Nexus私服安装启动

Nexus私服初始配置

Nexus下载部署jar包

通过Nexus下载jar包

将jar包部署到Nexus中

引用别人部署的jar包


Maven私服处理逻辑

Maven私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库,其他远程公共仓库)。

建立了Maven私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。

  1. 请求本地仓库,若本地仓库不存在所需构建,则跳转到第2步。
  2. 请求Maven私服,将所需构件下载到本地仓库,若私服中不存在所需构件,则跳转到第3步。
  3. 请求外部的远程仓库,将所需构建下载并缓存到Maven私服,若外部远程仓库不存在所需构件,则Maven直接报错。

此外,一些无法从外部仓库下载到的构件,也能从本地上传到私服供其他人使用。

Nexus是一种当前最流行、使用最广泛的Maven私服产品,可以利用其构建Maven私服,下面针对Nexus私服的使用进行介绍。

Nexus私服安装启动

Nexus软件的下载可以参考文章 Nexus下载与安装详解-CSDN博客

当下载完成之后得到一个压缩包,此时将其解压到自己指定的位置即可,完成后可见如下目录。

nexus-版本号目录存放的是核心程序,sonatype-work目录存放的是Nexus工作过程中所生成的文件。

对于Nexus的启动程序,需要打开核心程序目录中的bin文件夹,利用其中的nexus.exe文件进行启动。

但是直接双击并不能直接启动,此时需要使用命令行启动,并且部分文件需要赋予管理员权限,所以需要以管理员的方式打开命令行启动

打开后按下面的命令来启动Nexus,其中第一条命令是为了定位到Nexus启动文件的目录,不同安装路径需要自行调整。

在输入启动命令后,第一次启动会耗费比较久的时间,请勿做其他操作,否则容易失败。

当出现以下内容时,说明已经启动成功了。

启动成功后,可以对其进行访问,首页访问地址为 http://localhost:8081/ ,8081为默认的端口号。

如下所示即访问成功。

如果没有启动成功,可以尝试删除安装Nexus的文件夹,并将压缩包重新解压,再次启动。

Nexus私服初始配置

启动成功后,首先进行Nexus的登录操作。

在点击登陆后,输入用户名与密码进行登录。其中用户名默认为admin,密码初始化为提示中所示文件路径存储,可以直接进入复制。

登录成功后可以进行自定义的密码设置。

随后开始设置是否进行匿名访问。

选择匿名访问后操作会比较简单,下面选择了不允许匿名访问来进行操作实践,即选择下面一项。

设置完后进入Browse选项页,可见共有七个仓库。而针对Maven私服使用的是上方四个以maven开头的仓库,下面对这几个仓库进行介绍。

仓库类型说明
proxy某个远程仓库的代理
group存放通过Nexus获取的第三方jar包
hosted存放本团队其他人员部署到Nexus的jar包
仓库名称说明
maven-centralNexus对Maven中央仓库的代理
maven-publicNexus默认创建 供开发人员下载使用的组仓库
maven-releaseNexus默认创建 供开发人员部署自己jar包的宿主仓库 要求release版本
maven-snapshotsNexus默认创建 供开发人员部署自己jar包的宿主仓库 要求snapshots版本

初始状态下,这几个仓库都没有内容。

Nexus下载部署jar包

通过Nexus下载jar包

要将本地Maven仓库与创建好的私服联动起来,需要对本地Maven仓库的配置文件进行修改,即Maven安装路径下的conf文件夹中的settings.xml文件。

为了不丢失原本的Maven配置,建议复制一个新的配置文件,在新的配置文件中修改,再去IDEA中进行Maven配置的修改。如下所示,在新建的settings-nexus.xml文件中进行nexus的配置。

如下所示,首为Nexus配置一个镜像,由于原先配置了阿里云的镜像,此时将阿里云镜像删除。并换为Nexus镜像。其中的url即为连接Nexus中的maven-public仓库的路径,可以直接从Nexus的仓库信息中复制的得到,id与name信息可以自行定义,id信息后续还会用到。

下一个配置只针对设置了不允许匿名访问的用户,如果对于匿名访问的设置为允许匿名访问,那么此时就已经配置成功了,因为直接访问该地址就可以进行仓库的访问,不需要进行登录的验证,而设置了不允许匿名访问的用户还需要进行下一步用户名与密码的配置。

在配置文件中找到<servers></servers>标签,填写用户名与密码信息,其中id必须填写与镜像配置中的一致,因为该用户名密码的使用对象就是这个id对应的镜像地址。

随后修改本地仓库的位置,为Nexus私服创建一个新的本地仓库。

配置文件配置结束后,在IDEA中把Maven的配置文件更换为给Nexus配置的这一个文件。

由于Nexus中的默认远程仓库代理的是maven官网,有时会下载速度较慢,所以可以在Nexus中将其更换为阿里云镜像的地址。

全部设置完成后,可以看到此时IDEA中显示已经直接开始下载依赖了。

这是因为更换了一个新的Maven仓库,里面没有支持Maven各个构建生命周期的插件jar包,此时会直接自动下载,而此时的下载源便为设置好的Nexus私服。

此时查看Nexus私服中的仓库,可以看到已经下载好了一部分jar包,而在之前这些仓库都是空的。

此时说明jar包已经成功完成了下载。

将jar包部署到Nexus中

要实现对jar包的部署,需要在需要部署的Maven工程中的pom.xml文件里进行如下配置。

其中id必须与前面配置的server保持一致,因为当要将jar包部署到Nexus私服上也需要进行用户名与密码的验证。对于name属性可以自行定义,而url是从Nexus的maven-snapshots仓库中复制的,因为当前部署的jar包为snapshots版本,所以更适合上传到maven-snapshots仓库中。

配置文件配置完成后,可以对Java工程直接执行deploy操作。

在部署完成后打开Nexus私服所上传的仓库,即maven-snapshots仓库,可以查看到刚刚上传的jar包。

引用别人部署的jar包

合作开发时,他人将写好的jar包部署到私服中了,需要引用时,需要先进行如下配置。

其中id必须与前面配置的server保持一致,因为当要将jar包部署到Nexus私服上也需要进行用户名与密码的验证。name可以自行设置,url设置为需要引用的jar包所在的仓库地址。下方的两个配置信息为允许使用snapshots版本的jar包与release版本的jar包。

配置完成后,我们尝试引用前面已经上床到maven-snapshots仓库中的jar包。

刷新Maven后可见jar包引用成功。

此时即实现了引用别人部署的jar包的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值