maven 离线依赖_使用nexus3配置maven私有仓库

本文介绍了如何使用Nexus3搭建Maven私有仓库,包括创建blob存储、hosted、proxy和group类型的maven仓库,并详细说明了每个类型的用途。在配置完成后,通过在测试机器上验证,展示了Maven如何从私有仓库拉取依赖,实现了离线依赖的管理。
摘要由CSDN通过智能技术生成

nexus3的安装配置在这里就不多说,我们安装完之后直接登录进行配置maven私有仓库。

在配置之前,我们先来看看系统默认创建的都有哪些,如下图:

0ec5402e664b29e910f190228aaaffa8.png

框起来的都是系统原有的,用不到,可以全删掉,重新创建。操作步骤如下两张图,挨个操作删除:

a5294e37c7a19844795aafce83c53b88.png

85ea85812fbdab0c0db00f54f907db13.png

1,创建blob存储

d402cbc06786cf14e9f0063fba6f066d.png

abd10434d59efa40254e536d0ff8f5ab.png

2,创建hosted类型的maven

8cf960e979b8793238c2b51e9f9dc7b8.png

3672e96b7ff4bf7af87ea00e42ec21e3.png

点击Repository下面的 Repositories – Create repository – maven2(hosted) :

Name: 定义一个名称maven-local

Online: 勾选。这个开关可以设置这个maven repo是在线还是离线。

Maven2:这里有三种方式,Releases、SNAPSHOT、Mixed。

  • Releases: 一般是已经发布的Jar包

  • Snapshot: 未发布的版本

  • Mixed:混合的

这里不做设置,默认即可。

Blob store,我们下拉选择前面创建好的专用blob:maven-use。

开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

20d9470b623e8d694704aa7e4cad730a.png

3,同上步骤,再创建一个proxy类型的maven仓库。

proxy的功能就是代理中央Maven仓库,当PC访问中央库的时候,先通过Proxy下载到Nexus仓库,然后再从Nexus仓库下载到PC本地。
这样的优势只要其中一个人从中央库下来了,以后大家都是从Nexus私服上进行下来,私服一般部署在内网,这样大大节约的宽带。

cd6c135f0f824daee80380b30e0d10c3.png

Name: proxy-maven

Maven 2: 不设置,使用默认。

Remote Storage: 远程仓库地址,因为国外的仓库访问受限,比较慢而且不稳定,这里我们填写阿里云的仓库地址,这个速度比较快也比较稳定:

http://maven.aliyun.com/nexus/content/groups/public/

Storage: maven-use。

整体配置截图如下:

bbc513581b29f3d55181dab43e3fa41e.png

5029f8eefc546f479e3c7f0824589c08.png

4,同上步骤,再创建一个group类型的maven仓库。

group类型的maven仓库,是一个聚合类型的仓库。它可以将前面我们创建的2个仓库聚合成一个URL对外提供服务,可以屏蔽后端的差异性,实现类似透明代理的功能。后面通过一些配置,大家可能会对这个group有更加深入的了解。

4178f3a9be1633da4c4220d504cfb2ca.png

Name:group-maven

Storage:选择专用的blob存储maven-use。

group : 将左边可选的2个仓库,添加到右边的members下。

整体配置截图如下:

77acda01d0caa392fc7b3966faed0d32.png


这样配置以后,我们就可以使用了。

5,验证使用

使用起来其实非常简单,就是在测试机器上安装maven工具,然后再其配置当中,将地址指向我们的私服地址,然后编译项目,这个时候就会通过私服来拉取jar包了,以后再编译的时候,就可以直接从本地私服拉取了。

现在找一台测试机器,进行验证。

1.测试主机安装jdk

2.测试主机安装maven

3.更改maven的配置

将项目编译依赖地址指向改成私服的配置,需要通过更改maven的配置实现,也就是更改maven/conf/settings.xml的仓库地址。

<servers>    <server>    <username>adminusername>    <password>adminpassword>    <id>nexus-oscid>  server>servers><mirrors>    <mirror>    <id>nexus-oscid>    <mirrorOf>*mirrorOf>    <name>Nexus oscname>    <url>http://localhost:8888/repository/group-maven/url>  mirror>mirrors

以上配置的url是从group-maven中点击copy按钮进行复制的,如下图操作:

9dd08627cae2d7cfdb53cdafac642659.png

4,拉取项目编译。

拉取之后,进到项目里边,开始编译。

请注意,这个时候,我们的group里边是空空如也的。

fb3cde74ec170f0fed8f119d107715c4.png

找一个springboot项目,可以到官网下载,地址:https://start.spring.io/

那么接下来开始编译:

unzip demo.zipcd demomvn install -e

接下来就会进入各种依赖下载的界面

08e50f1bd0965db709e1e394a0cb4116.png

这个时候我们可以明白,其实我新搭建的仓库里边是空的,那么这会儿的流程就是经由group,转向我们配置的proxy,私服在通过proxy拉取远程的jar,然后再经由group,反馈给当前的项目。

接着我们去私服里看看是不是有jar包信息了:

a1ad60724fdd8b9033e5793034bf6a3c.png

可以看到刚刚编译过程中所下载的jar,都如我们所想的呈现在了group当中,明明是通过proxy下载的远程jar,为何可以在group里边看到呢,其实,这就是我刚刚说的,group的妙处所在吧。

maven私服的基本框架已经搭成,当某一些jar无法下载的时候,一般情况下的解决办法都是通过手动下载,然后再手动上传到私服当中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值