要管理Nexus提供的仓库,以管理员用户登陆然后点击左边导航菜单Administration下面的Repositories。Nexus提供了三种不同的仓库。
- 代理仓库
-
一个代理仓库是对远程仓库的一个代理。默认情况下,Nexus自带了如下配置的代理仓库:
- Apache Snapshots
-
这个仓库包含了来自于Apache软件基金会的快照版本。http://people.apache.org/repo/m2-snapshot-repository
- Codehaus Snapshots
-
这个仓库包含了来自于Codehaus的快照版本。 http://snapshots.repository.codehaus.org/
- Central Maven Repository
-
这是中央Maven仓库(发布版本)。 http://repo1.maven.org/maven2/
- 宿主仓库
-
一个宿主仓库是由Nexus托管的仓库。Maven自带了如下配置的宿主仓库。
- 3rd Party
-
这个宿主仓库应该用来存储在公共Maven仓库中找不到的第三方依赖。这种依赖的样例有:你组织使用的,商业的,私有的类库如Oracle JDBC驱动。
- Releases
-
这个宿主仓库是你组织公布内部发布版本的地方。
- Snapshots
-
这个宿主仓库是你组织发布内部快照版本的地方。
- 虚拟仓库
-
一个虚拟仓库作为Maven 1的适配器存在。Nexus自带了一个central-m1虚拟仓库。
Figure 16.12, “代理仓库的配置页面” 展示了Nexus中代理仓库的配置页面。在这个页面中,你可以管理一个外部仓库的设置。本页面中,你可以配置:
- 仓库ID
-
仓库ID是将会被用在Nexus URL中的标识符。例如,中央代理仓库有一个ID为"central",这就意味着Maven可以直接在http://localhost:8081/nexus/content/repositories/central访问这个仓库。在一个给定的Nexus安装中,仓库ID必须是唯一的。ID是必需的。
- 仓库名称
-
仓库的显示名称。名称是必需的。
- 仓库类型
-
仓库类型(代理,宿主,或者虚拟)。你不能改变仓库的类型,在你创建一个仓库的时候它就被指定了。
- 仓库策略
-
如果一个代理仓库的策略是release,那么它只会访问远程仓库的发布版本构件。如果一个代理仓库的策略是snapshot,它只会下载远程仓库的快照版本构件。
- 默认存储位置
-
它不可编辑的,显示出来只是为了参考。这是仓库本地缓存内容的默认存储位置。
- 覆写存储位置
-
你可以选择为某个特定的仓库覆写存储位置。如果你关心存储空间,或者想要将某个特定仓库(如中央仓库)的内容放到一个不同的位置,你就可以覆写存储位置。
- 远程仓库访问
-
这一部分告诉Nexus去哪里寻找远程仓库,以及如何与这个被代理的仓库交互。
- 远程存储位置
-
这是远程Maven仓库的URL。
- 下载远程索引(本图未显示)
-
这个字段控制下载远程索引。目前只有中央仓库在http://repo1.maven.org/maven2/.index有一个索引。如果开启它,Nexus会下载这个索引,并使用它用来搜索,以及为任何要求索引的客户(如m2eclipse)服务。新的代理仓库的默认值是开启的,但是Nexus自带的所有仓库的这个默认值是关闭的。要改变Nexus自带的代理仓库设置,更改此选项,保存至仓库,然后给仓库重新编制索引。在这之后,构件搜索会返回中央Maven仓库中可用的每一个构件。Section 16.6, “维护仓库”详细描述了为仓库重新编制索引的过程。
- 校验和策略
-
为一个远程仓库设置校验和策略。这个选项默认设置成
Warn
。该设置可能的值包括:-
Ignore
- 完全忽略校验和 -
Warn
- 如果校验和不正确,在日志中打印一个警告 -
StrictIfExists
- 如果计算出来的校验和与仓库中的校验和不一致,那就拒绝缓存这个构件。只有校验和文件存在的时候才进行检查。 -
Strict
- 如果计算出来的校验和与仓库中的校验和不一致,或者如果构件没有校验和文件,就拒绝缓存这个构件。
-
- 认证
-
这一部分允许你为一个远程仓库设置用户名,密码,私钥,密钥口令,NT LAN HOST,以及NT LAN Manager Domain。
- 访问设置
-
这一部分为一个仓库配置访问设置。
- 允许部署
-
如果允许部署设置成true,Nexus会允许Maven部署构件至这个仓库。允许部署只有对于宿主仓库有意义。
- 允许文件浏览
-
如果设置成true,用户可以通过web浏览器来浏览这个仓库的内容。
- 包含在搜索范围中
-
如果设置成true,当你在Nexus中执行构件搜索的时候,该仓库会被搜索。 如果设置成false,在搜索时该仓库的内容会被排除。
- 过期失效设置
-
Nexus为构件和元数据维护一份本地的缓存,你可以为代理仓库配置过期失效参数。过期失效设置有:
- 未找到缓存TTL
-
如果Nexus找不到一个构件,它会在一个给定的时间内缓存这个结果。换句话说,如果Nexus不能在远程仓库中找到一个构件,它不会重复的尝试去解析这个构件,除非超过了这个未找到缓存TTL时间。默认值是1140分钟(或者24小时)。
- 构件最大年龄
-
在Nexus从远程仓库获取一个新版本的构件前,告诉它构件的最大年龄是多少。带有release策略的仓库的默认设置是-1,带有snapshot策略的仓库的默认值是1140。
- 元数据最大年龄
-
Nexus从远程仓库获取元数据。只有在超过了元数据最大年龄之后,它才会去获取元数据的更新。该设置的默认值是1140分钟(或者24小时)。
- HTTP请求设置
-
这一部分能让你更改对于远程仓库的HTTP请求的属性。该部分中你可以配置请求的User Agent,为请求添加参数,设置超时和重试行为。这一部分涉及的是由Nexus对远程被代理Maven仓库的HTTP请求。
- HTTP代理设置
-
该部分能让你为从Nexus到远程仓库的请求配置HTTP代理。你可以配置一个代理主机,端口和认证设置,以告诉Nexus为所有对远程仓库的请求使用HTTP代理。