Nexus 简介
Sonatype Nexus 是有名的 maven 仓库管理器,可以用于构建 maven 的本地服务器。
sonatype nexus 3 是 maven nexus 私服的最新版本,与之前版本有较大的差异。
Nexus 术语
搭建 maven 私服之前最好了解几个名词,方便后面安装好服务器之后做配置,同时也涉及 Nexus 下载的行为模式。
Proxy Repository 代理仓库
代理仓库就是远程仓库的代理。默认 Nexus 仓库管理自带三种代理仓库 Apache Snapshots/Codehaus Snapshots/Central,但是在 3.x 中就只有 Central 了。Nexus 3.x 对于 2.x 来说简化了很多,配置理解起来也很简单。
Hosted Repository 宿主仓库
宿主仓库就是被仓库管理者持有的仓库,Nexus 仓库管理自带三种宿主仓库 3rd Party/Releases/Snapshots,在 3.x 中默认不带 3rd Party 了。
Virtual Repository 虚拟仓库
基本没用过,不用关注,虚拟仓库作为一个适配器来对不同类型的仓库进行转换(例如 maven 1/ 2 之间转换)。
Repository Group 仓库组
看名字就知道,一些其它仓库的组合,不具有实际仓库的功能,只是对现有的仓库组织起来,客户端请求的还是实际配置的仓库。
SNAPSHOT
快照版本,在 maven 中 SNAPSHOT
版本代表正式发布(release)的版本之前的开发版本,在 pom 中用 x.y-SNAPSHOT
表示。
RELEASE
发布版本,稳定版本,在 maven 中 RELEASE
代表着稳定的版本,unchange,不可改变的,在 maven 中 SNAPSHOT 与 RELEASE 版本在策略上是完全不同的方式,SNAPSHOT 会根据你的配置不同,频繁的从远程仓库更新到本地仓库;而 RELEASE 则只会在第一次下载到本地仓库,以后则会先直接从本地仓库中寻找。
pe nexus 3 是 maven nexus 私服的最新版本,与之前版本有较大的差异。
Nexus 3.x 安装
前置条件要求存在 jdk1.8 的环境。
下载
地址:https://www.sonatype.com/download-oss-sonatype
下载最新版即可
linux 上安装配置 Nexus
# 解压
tar -zxvf nexus-3.14.0-04-unix.tar.gz
# 解压的文件夹移到 nexus
mv nexus-3.14.0-04/ /usr/local/nexus
mv sonatype-work/ /usr/local/nexus
# 防火墙开启 8081 端口,该端口是 nexus 的默认端口
# 在 /usr/local/nexus/etc/nexus-default.properties 文件中
vi /etc/sysconfig/iptables
# 在打开的文件中加入如下内容
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
# 启动
# ps 安装时第一次启动使用 ./nexus start 访问不到 web 页面,使用 run 命令可以,之后使用 start 也就可以了
./nexus run &
# 启动成功会有如下信息
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexus
上面启动成功后会警告不要使用 root
用户启动,这里既可以新建一个用户,也可以指定 root 用户启动,使他不出现警告,下面配置指定 root 用户启动。
# 该文件在 bin 目录下和启动程序 nexus 同级
vi nexus-3.14.0-04/bin/nexus.rc
# 修改
run_as_user=root
启动后就能看到如下界面:
使用默认管理账号 admin/admin123
登录 http://192.190.20.20:8081
。