11 Mavne-配置从NEXUS下载构件和为项目配置独立仓库

1.Maven-简介 2.Maven-安装和配置 3.Maven-POM文件说明 4.Maven-坐标 5.Maven-依赖详解 6.Maven-仓库 7.Maven-生命周期和插件    8.Maven-聚合 9.Maven-继承和反应堆 10.Maven-使用NEXUS创建私服   11.Mavne-配置从NEXUS下载构件和为项目配置独立仓库   12.Maven-使用Hudson进行持续集成及系统配置  13.Maven-创建Hudson任务  14.Maven-Hudson监视任务、用户管理、工作目录

11.1 配置Maven从Nexus下载构件

之前介绍了如何在POM中为Maven配置仓库和插件库。例如,当需要为项目添加Nexus私服上的public仓库时,可以按照如下配置:


这样的配置只对当前Maven项目有效,在实际应用中,我们往往想要通过一次配置就能让本机所有的Maven项目都使用自己的Maven私服。这个时候你们可能会想到settings.xml文件,该文件中的配置对所有本机Maven项目有效。但是settings.xml并不支持直接配置repositories和pluginRepositories。所幸Maven还提供了Profile机制,能让哟好过户将仓库配置到settings.xml中的Profile中,如图:


该配置中使用了一个id为 nexus的profile包含了相关的仓库配置,同时配置中又使用activeProfile元素将nexus这个profile激活,这样当执行Maven构件的时候,激活的profile会将仓库配置应用到项目中去。
如上图中的配置已经能让本机所有的Maven项目从Nexus私服下载构件。Maven除了从Nexus下载构件之外,还会不时地访问中央仓库central,我们希望的是所有Maven下载请求都仅仅通过Nexus,以全面发挥私服的作用。这个时候就需要借助之前提到的Maven镜像配置了。可以创建一个匹配任何仓库的镜像,镜像的地址为私服,这样,Maven对任何仓库的构件下载请求都会转到私服中。如下图配置



上图中他们的id都为central,也就是说,覆盖了超级POM中央仓库的配置,他们的url已无关紧要,因为所有请求都会通过镜像访问私服地址。配置仓库及仓库的主要目的是开启对快照版本下载的支持,当Maven需要下载发布版或者快照版的时候,它首先检查central,看该类型的构件是否支持,得到正面的回答之后,再根据镜像匹配规则转而访问私服仓库地址。


11.2 部署构件至Nexus
如果只为代理外部公众仓库,那么Nexus的代理仓库就已经能够完全满足需要了。对于另一类Nexus仓库-宿主仓库来说,他们的主要作用是存储组织内部的,或者一些无法从公众仓库中获得的第三方构件,供大家下载使用。用户可以配置Maven自动部署构件至Nexus的宿主仓库,也可以通过界面手动上传构件。

11.2.1 使用Maven部署构件至Nexus
日常开发生成的快照版本构件可以直接部署到Nexus中策略为Snapshot的宿主仓库中,项目正式发布的构件应该部署到Nexus中策略为Release的宿主仓库中。POM的配置方式,如下图


Nexux的仓库对于匿名用户是只读的。为了能够部署构件,还需要在settings.xml中配置认证信息,如下图

11.3 为项目分配独立的仓库
在组织内部,如果所有项目都部署快照及发布版本构件至同样的仓库,就会存在潜在的冲突问题及安全问题,我们不想让项目A的部署影响到了项目B,反之亦然。解决的办法就是为每个项目分配独立的仓库,并且只将仓库的部署、修改和删除赋予该项目的成员,其他用户只能读取、下载和搜索该仓库的内容。
假设项目名称为 A ,首先为该项目建立两个宿主仓库 A Snapshots 和 A Releases,分别用来部署快照构件和发布构件。然后再创建一些增删改查的权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java&ly

感谢支持,请小编喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值