CentOS7搭建maven私服
环境搭建
- 安装jdk,注意版本要求。
- 选择nexus版本。它有两个版本,Nexus Repository Manager OSS 和 Nexus Repository Manager Pro,一般使用前者足够。
- 下载:https://www.sonatype.com/download-oss-sonatype
或者使用wget命令下载:wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.4-03-bundle.tar.gz
安装
- 上传nexus-2.14.4-03-bundle.tar.gz到linux
- 解压到/usr/local或/opt/nexus目录,本次是安装到opt目录的。
cd /opt
tar -zxvf nexus-2.14.4-03-bundle.tar.gz -C /opt
- 建立软链
ln -s nexus-2.14.4-03 nexus
- 配置nexus运行文件
进入bin目录,vi nexus,将运行用户修改为root,并将nexus_home修改成你安装的目录
RUN_AS_USER=root
NEXUS_HOME="/opt/nexus-2.14.4-03"
如果需要修改端口的,修改conf目录下的nexus.properties,并开放端口或者关闭防火墙。
- 启动nexus
命令有:
./nexus {start|stop|run|run-redirect|status|restart|force-reload}
- 访问http://127.0.0.1:8081/nexus/
用户名:admin
密码:admin123
nexus使用介绍
nexus预设几个仓库:
第一个public Repositories,类型为group,这个简单理解为仓库的集合,下面的仓库就是可以加入到这个集合的元素。
对外可以只提供一个单独的url,如上图显示为:http://127.0.0.1:8081/nexus/content/groups/public/
大部分的终端用户,只需要配置上面这一个单独的聚合后的url,而不用单独配置多个仓库。用户也不需要知道某个jar包具体来源于maven 中央仓库,或者是Apache Snapshots,或者是我们自己添加的其他仓库。
这样的好处在于:如果我们要新增某个仓库(如开源中国、阿里云),客户端不需要做任何更改,只需要在nexus上将要新增的仓库加入到对外提供服务的仓库 group中就可以。
第二个3rd party,与倒数第一个和第二个仓库,Releases和Snapshots一样,类型为hosted,意思是由nexus本机管理的仓库。该仓库用于商业化的,第三方提供的非开源的依赖仓库,如oracle jdbc driver。
倒数第二个Releases,用于存放开发团队内部用的正式版的依赖。
倒数第一个Snapshots,用于存放开发团队内部日常构建的频率更新较快的依赖包。
Apache Snapshots和Central类型都是proxy,意思是远端仓库的代理。前者包含了Apache Software Foundation 发布的快照版本(这么翻译不知道对不对),后者为Maven中央仓库,我们平时maven默认就是连接该仓库。
Central M1 Shadow类型为virtual,按官方文档的意思是,只是已有仓库的一个不同呈现方式的映射。有需要可以参考官方手册6.2.3节。
上传本地内部依赖到私服
参考:
http://jingyan.baidu.com/article/a948d6517b72eb0a2dcd2e2a.html