Nexus入门指南


Nexus介绍

Nexus 是Maven仓库管理器,若是你使用Maven,你能够从Maven中央仓库 下载所须要的构件(artifact),但这一般不是一个好的作法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就能够知足这样的须要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优势使其日趋成为最流行的Maven仓库管理器。数据库


代理Maven中央仓库

 点击左边导航栏的Repositories,界面的主面板会显示全部一个全部仓库及仓库组的列表,你会看到它们的Type字段的值有group,hosted,proxy,virtual。这里咱们不关心virtual,只介绍下另外三种类型:服务器

  • hosted,本地仓库,一般咱们会部署本身的构件到这一类型的仓库。maven

  • proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。spa

  • group,仓库组,用来合并多个hosted/proxy仓库,一般咱们配置maven依赖仓库组。代理


  • 管理本地Maven仓库

  • Nexus预约义了3个本地仓库,分别为Releases,Snapshots,和3rd Party。这三个仓库都有各自明确的目的。Releases用于部署咱们本身的release构件,Snapshots用于部署咱们本身的snapshot构件,而3rd Party用于部署第三方构件,有些构件如Oracle的JDBC驱动,咱们不能从公共仓库下载到,咱们就须要将其部署到本身的仓库中。orm

  • 固然你也能够建立本身的本地仓库,步骤和建立代理仓库相似,点击Repository面板上方的Add按钮,而后选择Hosted Repository,而后在下方的配置面板中输入id和name,注意这里咱们再也不须要填写远程仓库地址,Repository Type则为不可修改的hosted,而关于Repository Policy,你能够根据本身的须要选择Release或者Snapshot,内存

管理Maven仓库组

Nexus中仓库组的概念是Maven没有的,在Maven看来,无论你是hosted也好,proxy也好,或者group也好,对我都是同样的,我只管根据groupId,artifactId,version等信息向你要构件。为了方便Maven的配置,Nexus可以将多个仓库,hosted或者proxy合并成一个group,这样,Maven只须要依赖于一个group,便能使用全部该group包含的仓库的内容。部署

Nexus预约义了“Public Repositories”和“Public Snapshot Repositories”两个仓库组,前者默认合并全部预约义的Release仓库,后者默认合并全部预约义的Snapshot仓库。咱们在本文前面的部分建立了一个名为“Sonatype Repository”的仓库,如今将其合并到“Public Repositories”中。get

相关文章
相关标签/搜索