一、Nexus安装
先在官网下载Nexus 3.15.2-01 OSX版本安装包
把安装包复制到阿里云服务器47.110.xxx.xxx的usr路径下
登录服务器并切换到usr路径下
输入命令:tar -zxvf nexus-3.15.2-01-unix.tar.gz
重命名文件夹:mv nexus-3.15.2-01 nexus
进入nexus/bin 路径,输入命令:./nexus run & ,启动 nexus
启动警告,这个可以忽略。看到 Started Sonatype Nexus OSS 3.15.2-01 表示启动成功。
登录 http://47.110.xxx.xxx:8081/ ip+端口(8081默认)
默认账号:admin , 默认密码:admin123
登录后:
1、Nexus 内置仓库介绍
Maven Gentral:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。
Release:这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。
Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件。
3rd party:这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。
Apache Snapshots: 这是一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件。
Codehaus Snapshots: 这是一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件。
Google code: 这是一个策略为Release的代理仓库,用来代理Google Code Maven仓库发布版本构件。
java.net Maven2:这是一个策略为Release的代理仓库,用来代理java.net Maven仓库的发布版本构件
Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务
Public Snapshot Repositories: 该仓库组将上述所有的策略为Snapshot的仓库聚合并通过一致的地址提供服务。(在nexus-oss-webapp-1.9.2.3 这版本中没有此项)
2、Nexus仓库分类概念
nexus里可以配置3种类型的仓库,分别是proxy、hosted、group
proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用
hosted是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里
group是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了
Maven可以直接从宿主仓库下载构件;maven也可以从代理仓库下载构件,而代理仓库会间接地从远程仓库下载并缓存构件;最后,为了方便,Maven可以从仓库组下载构件,而仓库组没有实际内容,它会转向其包含的宿主仓库或者代理仓库获得市级构件的内容。
3、创建Nexus宿主仓库
创建一个宿主仓库首先单击界面左边导航栏中的Repositories链接,在右边的面板中,选择Create repository按钮,接着在下拉菜单中选择Hosted Repository,就会看到如下图的配置界面:
输入存储库名称:Test,点击创建存储库
点击Test存储库
创建Nexus代理仓库
操作和创建宿主仓库类似,主要Repository Type 的值选为proxy 这时看到如下图:
对于代理仓库来说,最重要的是远程仓库地址即
Remote Storage Location,用户必须输入有效的值
创建Nexus仓库组
创建仓库组同其他的一样步骤是在选择Create repository时选择菜单中的maven2(group) 就会看到如下的:
如图所示:输入组名后,把下方左侧存储库转移到右侧仓库组中。
在配置界面中可以选择Nexus中的仓库,将其聚合成一个虚拟的仓库组,注意,仓库组所包含的仓库的顺序决定了仓库组便利其所含仓库的次序,因此最好将常用的仓库放在前面,当用户从仓库组下载构件的时候,就能经快的访问到包含构件的仓库。
下图紫色背景异常提醒可不做理会
配置Maven 从Nexus下载构件
当需要为项目添加Nexus私服上的public仓库时,可以在项目pom.xml文件配置 代码如下:
这样的配置只对当前的Maven项目有效,实际应用中,我们往往想要通过一次配置就完成能让本机所有的Maven项目都使用自己的Maven私服。这时配置本地仓库setting.xml 代码如下:
使用Maven 部署构件至Nexus
日常开发生成的快照版本构件可以直接部署到Nexus中策略为Snapshot的宿主仓库中,项目正式发布的构件则应该部署到Nexus中策略为Release的宿主仓库中。POM.XML配置如下:
Nexus 的仓库对于普通用户是只读的,为了能够部署构件,还需要在setting.xml 中配置认证信息代码如下:
点击这里浏览服务器内容,点击Maven就可以看到蓝色方框里已上传的jar包
点此上传jar包