环境:CentOS 7、JDK7、Sonatype Nexus
前提:已安装JDK7并配置好了环境变量
1、下载最新版Nexus,下载地址:http://www.sonatype.org/nexus/go/
2、解压
mkdir nexus
tar -zxvf nexus-2.14.4-03-bundle.tar.gz -C nexus
cd nexus
ls
nexus-2.14.4-03 sonatype-work
(一个nexus服务,一个私有库目录)
3、编辑Nexus的nexus.properties文件,配置端口和work目录信息(保留默认)
cd nexus-2.14.4-03
ls
bin conf lib LICENSE.txt logs nexus NOTICE.txt tmp
查看目录结构
cd conf
vi nexus.properties
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF
4、编辑nexus脚本, 配置RUN_AS_USER参数
vi /root/nexus/nexus-nexus-2.14.4-03/bin/nexus
RUN_AS_USER=
改为:
RUN_AS_USER=root
5、防火墙中打开8081端口
vi /etc/sysconfig/iptables
添加:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8081 -j ACCEPT
保存后重启防火墙
service iptables restart
6、启动nexus
/root/nexus/nexus-2.14.4-03/bin/nexus start
WARNING - NOT RECOMMENDED TO RUN AS ROOT
Starting Nexus OSS…
Started Nexus OSS.
7、浏览器中打开:http://centos-node5:8081/nexus/
8、登录,默认用户名admin,默认密码admin123:
Nexus已安装完成,接下来是Nexus的配置
9、用户修改密码
10、仓库类型
group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库;
hosted 宿主仓库:主要用于发布内部项目构件或第三方的项目构件(如购买商业的构件)以及无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)
proxy 代理仓库:代理公共的远程仓库;
virtual 虚拟仓库:用于适配 Maven 1;
一般用到的仓库种类是hosted、proxy
Hosted仓库常用类型说明:
releases 内部的模块中release模块的发布仓库
snapshots 发布内部的SNAPSHOT模块的仓库
3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
如果构建的Maven项目本地仓库没有对应的依赖包,那么就会去Nexus私服去下载,
如果Nexus私服也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。 Nexus私服下载成功后再下载至本地Maven库供项目引用。
设置proxy代理仓库(Apache Snapshots/Central/Codehaus Snapshots)准许远程下载,如:
11、Maven本地库的安装与配置环境变量、setting.xml