nexus的简介和本地安装
私服的作用:降低中央仓库负荷、节省外网带宽、加速maven构建、自己部署构建等。
windows安装nexus:下载jar并解压到指定目录,解压后有两个目录nexus-3.7.1-02、sonatype-work
nexus-3.7.1-02:该目录包含了nexus运行所需要的文件,如启动脚本、依赖jar包等。
sonatype-work:该目录包含nexus生成的配置文件、仓库文件、日志文件等,该目录不用手动创建,nexus会自动创建,如果需要备份nexus,只需要备份此目录即可,该目录包含了用户的特定内容,上面的目录每个相同的版本的nexus都是一样的。
windows启动nexus的方式:bundle方式的启动,需要在命令行启动,exe文件不能启动成功,在命令行进入nexus的bin目录,执行nexus.exe /run,出现started Sonatype Nexus则启动成功,默认帐号admin/admin123
Nexus的仓库与仓库组
nexus包含了各种类型的仓库概念,如:
代理仓库(proxy)、宿主仓库(hosted)、虚拟仓库(virtual)、仓库组(group)等。
代理仓库(proxy):代理远程仓库,并缓存依赖组件。
宿主仓库(hosted):宿主仓库用来组织内部部署自己的组件、中央仓库没有的三方主键。
仓库组(group):仓库组可以包含多个代理仓库和宿主仓库,提供一个单一的地址供maven项目使用,仓库组中的多个仓库的数序和仓库的遍历顺序一致,请设置的时候把常用仓库放在前面。
虚拟仓库(virtual):虚拟类型仓库的作用实际上是动态的将仓库内容格式转换,是为了服务于maven1格式。
每个仓库有一个属性policy(策略),表示该仓库是发布版本还是快照版本。
Nexus的索引与构件搜索
nexus通过维护仓库的索引来提供搜索功能,设置代理仓库的时候,要设置下载索引文件,才可以使用搜索功能。
nexus也可以为宿主和代理仓库创建索引,在仓库右键选择reIndex.
对于代理仓库,nexus会扫描所有缓存的构件生成索引,如果远程有索引则下载到本地与本地生成的合并。
仓库组会合并包含的所有仓库的索引提供搜索服务。
maven下载构件的时候,先检查central是否支持构建的版本类型,如快照、发布,然后在走镜像地址去获取。