仓库一般分为public(Release)仓和Snapshot仓
Release仓
存放正式版本
Snapshot仓
存放快照版本
区别
本地获取这些依赖的机制有所不同
Release: 本地如果有就从本地获取,如果没有再从远程获取(版本号如果相同,代码更新,那么不会本地不会更新)
Snapshot: 先从远程获取(如果版本号相同,代码更新,那么就派上用场了)
为什么要分两种
假设有两个小组负责维护两个组件A和B,B依赖的构件依赖于A,这两个项目每天都要构建很多次,A和B又经常更新,如果每次更新都需要新发布一个版本号,那会疯掉的!!!
这个时候就把A发布成Snapshot快照版本,B每次构件都去远程看A的快照,A只需要更新代码不需要发布新版本。
这样maven本地仓库不就没用了嘛?
不是的!!!
在配置Maven的Repository的时候中有个配置项,可以配置对于SNAPSHOT版本向远程仓库中查找的频率。频率共有四种,分别是always、daily、interval、never。