十一假期期间,也有很多小伙伴不忘学习呀,看来有很多小伙伴想通过十一长假来提升自己的专业技能!这不,就有小伙伴在微信上问我:如何搭建Maven私服?让我专门推一篇搭建Maven私服的文章。安排上了,这也是我亲自验证过,在自己服务器内网一直运行的Maven私服环境。今天,我就把如何搭建Maven私服的方法分享给小伙伴们,希望能够给大家带来实质性的帮助。
小伙伴的疑问这里,我就直接以一张图来说明小伙伴的疑问吧。
假期不忘学习的读者,日后必然是公司的栋梁之才呀!加油!
那么,接下来,我们就一起来搭建Maven私服环境吧!
环境说明环境: CentOS 6.8、 JDK8、 Sonatype Nexus、 Maven
IP:192.168.50.131
root 用户操作
前提: 已安装 JDK8 并配置好了环境变量,小伙伴们自行搭建JDK8环境,这里我就不再赘述了。相信小伙伴们都能够正确搭建JDK8环境。
下载Nexus下载Nexus(这里,我使用的是: nexus-2.11.2-03-bundle.tar.gz) ,下载地址: ,我们也可以在服务器的命令行输入如下命令下载nexus-2.11.2-03-bundle.tar.gz安装文件。
# wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz也可以到链接:https://download.csdn.net/download/l1028386804/12523592 下载
解压Nexus # mkdir nexus # tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C nexus # cd nexus # ls nexus-2.11.2-03 sonatype-work (一个 nexus 服务,一个私有库目录) 编辑 Nexus编辑 Nexus 的 nexus.properties 文件,配置端口和 work 目录信息(保留默认)
# cd nexus-2.11.2-03 # ls bin conf lib LICENSE.txt logs nexus NOTICE.txt tmp查看目录结构, jetty 运行
# cd conf # vi nexus.properties # Jetty section application-port=8081 application-host=0.0.0.0 nexus-webapp=${bundleBasedir}/nexus nexus-webapp-context-path=http://www.likecs.com/nexus # Nexus section nexus-work=${bundleBasedir}/../sonatype-work/nexus runtime=${bundleBasedir}/nexus/WEB-INF 编辑 nexus 脚本,配置 RUN_AS_USER 参数 # vi /usr/local/nexus/nexus-2.11.2-03/bin/nexus #RUN_AS_USER=改为:
RUN_AS_USER=root 防火墙中打开 8081 端口 # vi /etc/sysconfig/iptables添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT保存后重启防火墙
# service iptables restart 启动 nexus # /usr/local/nexus/nexus-2.11.2-03/bin/nexus start **************************************** WARNING - NOT RECOMMENDED TO RUN AS usr/local **************************************** Starting Nexus OSS... Started Nexus OSS. 访问nexus浏览器中打开: :8081/nexus/
登录nexus默认用户名admin,默认密码admin123。
到此, Nexus 已安装完成, 接下来是 Nexus 的配置
Nexus 配置(登录后) 设置管理员邮箱菜单 Administration/Server 配置邮箱服务地址(如果忘记密码,可以通过该邮箱找回密码)
给用户配置邮箱地址,方便忘记密码时找回:
group 仓库组: Nexus通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库;
hosted 宿主仓库: 主要用于发布内部项目构件或第三方的项目构件 (如购买商业的构件)以及无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)proxy 代理仓库: 代理公共的远程仓库;
virtual 虚拟仓库: 用于适配 Maven 1;
一般用到的仓库种类是 hosted、 proxy。
Hosted 仓库常用类型说明:
releases 内部的模块中 release 模块的发布仓库
snapshots 发布内部的 SNAPSHOT 模块的仓库
3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去