|NO.Z.00023|——————————|CloudNative|——|CI/CD&Maven私服Nexus3.V04|——|Maven私服Nexus3仓库介绍|
一、Maven私服Nexus3仓库介绍:Nexus3仓库介绍
### --- 查看Nexus3仓库三种类型
~~~ ——>点击“设置-Repositories”,就可以看到仓库,分三种类型:

二、Nexus3仓库三种类型说明
### --- Nexus3仓库三种类型说明
~~~ # proxy:
~~~ 是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,
~~~ 当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,
~~~ 如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。
~~~ # Hosted:
~~~ 是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,
~~~ 也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,
~~~ 在central repository是获取不到的,就需要手工上传到hosted里,
~~~ 一般用来存放公司自己的jar包;
~~~ # Group:
~~~ 是仓库组,在maven里没有这个概念,是nexus特有的。
~~~ 目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,
~~~ 只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,
~~~ 看到仓库中artifact列表。不过要注意浏览器缓存,
~~~ 当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可
~~~ # maven-public:
~~~ maven-central、maven-release和maven-snapshot三个库的合集。
~~~ # maven-release:
~~~ 用来存放release版本的jar包。
~~~ # maven-snapshot:
~~~ 用来存放snapshot版本的jar包。
三、关于Maven的Snapshot版本与Release版本
### --- Snapshot版本代表不稳定、尚处于开发中的版本
~~~ Release版本则代表稳定的版本
~~~ 什么情况下该用SNAPSHOT? 协同开发时,如果A依赖构件B,
~~~ 由于B会更新,B应该使用SNAPSHOT来标识自己。
~~~ # 这种做法的必要性可以反证如下:
~~~ # 如果B不用SNAPSHOT,而是每次更新后都使用一个稳定的版本,那版本号就会升得太快,
~~~ 每天一升e68a84e8a2ade79fa5e9819331333363396362甚至每个小时一升,这就是对版本号的滥用。
~~~ 如果B不用SNAPSHOT, 但一直使用一个单一的Release版本号,
~~~ 那当B更新后,A可能并不会接受到更新。
~~~ # 因为A所使用的repository一般不会频繁更新release版本的缓存(即本地repository),
~~~ 所以B以不换版本号的方式更新后,A在拿B时发现本地已有这个版本,
~~~ 就不会去远程Repository下载最新的B
~~~ # 不用Release版本,在所有地方都用SNAPSHOT版本行不行? 不行。正式环境中不得使用snapshot版本的库。
~~~ 比如说,今天你依赖某个snapshot版本的第三方库成功构建了自己的应用,
~~~ 明天再构建时可能就会失败,因为今晚第三方可能已经更新了它的snapshot库。
~~~ 你再次构建时,Maven会去远程repository下载snapshot的最新版本,
~~~ 你构建时用的库就是新的jar文件了,这时正确性就很难保证了。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv015-jenkins2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通