Windows环境搭建Maven私有仓库
一:Nexus概述
我们在讲Nexus之前,先来看个问题,为什么要搭建 Maven 私有仓库?不管是做开发还是测试,我们项目中都会涉及到一些私有的 jar包,何为私有的 jar 包,就是我们自己打包的一个 jar文件,无法从Maven下载的,如果这个项目只有一个人在使用,那么可以直接使用这个 jar 包,但是如果有多人使用呢,难道要一个一个 copy 给他们吗,就算 copy 了,在项目中也不见得会正常使用,代码中肯定会报 jar 包缺失,这种报错非常常见。
其次,所有人重复的从 Maven 仓库下载 jar 包,浪费了大量的外网带宽,如果公司网络慢,那么下载耗时会非常大,那种痛苦估计只有经历过的人才会知道,影响工作效率和项目进度,常用方法就是将这个 jar 包放到私有仓库,在 maven 中配置好私有仓库地址,在 pom.xml 中配置好 jar 包相关信息,就可以下载到本地了,使用这个 jar了。那么如何搭建 Maven 私有仓库呢,我们就要使用 Nexus。
Nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问;是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据;使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过IDEA和Eclipse集成使用;支持webDAV与LDAP安全身份认证;提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,占用较少的内存,基于简单文件系统而非数据库。
二:Nexus 的优点
1.加速 Maven 构建过程,提高工作效率
2.节省大量的外网带宽
3.方便公司内部人员使用
三:工作流程
四:Nexus 仓库类型说明
hosted:本地存储。像官方仓库一样提供本地私库功能 proxy:提供代理其它仓库的类型 group:组类型,能够组合多个仓库为一个地址提供服务
五:Nexus 下载
1.官网:https://www.sonatype.com/
2.下载地址
Nexus提供了免费版本和收费版本,如上图所示,OSS 为免费版本,PRO为收费版本。
点击Nexus Repository OSS,点击 GET REPOSITORY OSS
输入邮箱(随便输入),选择 I don't know,点击 DOWNLOAD
随意填写相关数据,点击DOWNLOAD
根据你的操作系统,选择下载即可,这里选择 WINDOWS
注:由于网络限制,需要借助梯子才可以正常访问 Nexus 官网及软件下载,因此,Nexus 安装包会放到百度网盘,有需要的小伙伴可以在公众号内回复“nexus”获取
六:安装
1.将下载好的nexus-3.31.1-01-win64.zip解压
nexus-3.31.1-01:nexus 安装目录
sonatype-work:nexus 数据文档
2.nexus-3.31.1-01 目录说明
bin 包含nexus的启动脚本和相关配置 etc jetty、karaf等配置文件 jre jre环境 lib java架包库 public 关于nexus应用在本地跑起来所需要的资源 system 应用所有的插件和组件
3.sonatype-work\nexus3目录说明
blobs 创建blob的默认路径,当然也可以重新指定 cache 当前缓存的karaf包的信息 db OrientDB数据库的数据,用于存储nexus的元数据的数据库 elasticsearch 当前配置的Elasticsearch状态 etc 大概是运行时配置状态和关于资源库的自定义的相关的东西 keystores 自动生成的关于资源库的ID主键 log 运行实例生成的日志文件,也有日志文件的压缩包,貌似是每天都会生成日志文件,你可以定期删除老的日志文件 tmp 用于存储临时文件的目录
官方详细说明:https://help.sonatype.com/repomanager3/installation/directories
2.启动方式一
在D:\Program Files\nexus-3.31.1-01-win64\nexus-3.31.1-01\bin目录下,在PowerShell窗口输入 .\nexus.exe /run,Cmd 命令行也可。
当然如果你不想每次都进入 bin 目录下执行 .\nexus.exe /run,你需要将 bin 目录设置为环境变量,这样就可以在随意路径下执行该命令了。
启动后浏览器输入:127.0.0.1:8081
2.启动方式二
创建并注册为 Windows 服务,以 Windows 服务的方式启动和停止:nexus.exe /install
如果出现以上报错,我们用管理员身份打开 PowerShell,再次输入 nexus.exe /install nexus-service
我们打开 Windows 服务,查看是否创建成功,Windows 服务中存在 nexus-services,说明我们已经创建成功,可以设置启动类型并启动或停止。
3.命令行管理服务
nexus.exe /start <可选服务名称>
nexus.exe /stop <可选服务名称>
nexus.exe /uninstall <可选服务名称>
七:Nexus的使用
1.登录,点击 Sing in,弹出密码存放文件
2.如果你8081端口被占用,那么可以修改端口号
进入D:\Program Files\nexus-3.31.1-01-win64\nexus-3.31.1-01\etc目录,修改nexus-default.properties文件中的application-port值即可
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args={jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
Nexus section
nexus-edition=nexus-pro-edition
nexus-features=
nexus-pro-feature
nexus.hazelcast.discovery.isEnabled=true
3.仓库说明
3.上传 jar包到 nexus
1.登录后点击 Upload,点击 maven-releases
2.选择文件,填写 Group ID,Artiface ID,Version
3.点击 Upload
3.查看已上传的 jar
八:在项目中的使用
1.下载 Maven,在公众号内回复 maven 下载
2.下载解压后修改/config/settings.xml文件
3.idea 设置
4.pom.xml 配置依赖jar 包,以 testng.jar 为例
5.执行
点击 idea 最右侧 Maven,点击 Dowload Sources and Documentation 或者直接点击刷新按钮,可以看到已经从 127.0.0.1 开始下载依赖包了