1. 概述
私服就是企业搭建供内部使用的一个Maven仓库,实现企业内部依赖的共享,具有降低中央仓库负荷、节省外网宽带和提高项目稳定性等优点。实际开发中服务器不能访问公网,可以通过一台能访问外网的服务器作为代理服务器下载需要的依赖。Nexus是Sonatype公司发布的一款仓库管理软件,常用于搭建Maven私服。更多详情,可以访问官网
2. 环境要求
Nexus依赖于Java8,所以需要提前搭建好Java环境,CPU数最低为4
内存最低要求8GB
3. 安装Nexus
3.1. 下载安装包
从官网下载最新安装包
选择适合的版本,点击下载链接即可,注意下载速度很慢,可以通过专门下载工具进行快速下载
3.2. 解压
将下载的安装压缩包解压到指定目录,如果是Linux服务器安装,需要先将压缩包上传到服务器目录再解压,解压后目录如下:
nexus-3.38.1-01:包含Nexus运行所需的文件以及所有必需的其他组件,如启动脚本、依赖jar包等
sonatype-work:包含由Nexus存储和管理的仓库、组件和其他数据
3.3. 启动Nexus
进入nexus-3.38.1-01/bin目录下,执行./nexus start
命令启动Nexus
执行./nexus status
可以查看启动状态
使用netstat -anp | grep java
命令查看端口占用情况,可以看到8081端口
在Windows环境中,在bin目录下执行nexus /run启动Nexus
3.4. 访问Nexus首页
浏览器地址输入http://ip:8081,初始化界面如下
初始化完成后,进入首页
3.5. 初始设置
点击右上角Sign in
输入用户名/密码,默认用户名是admin,默认密码如提示的/sonatype-work/nexus3/admin.password
直接点击Next,进入下一步
输入新密码,点击Next,进入下一步
勾选禁用匿名访问选项,点击Next,进入下一步
点击Finish即可
登陆后的界面如下
4. Maven项目接入Nexus
4.1. 通过Nexus下载jar包
仓库类型说明
proxy:某个远程仓库代理
group:存放通过Nexus获取的第三方jar包
hosted:存放本团队开发人员部署到Nexus的jar包
仓库名称说明
maven-central:Nexus对Maven中央仓库代理
maven-public:Nexus默认创建,供开发人员下载使用的组仓库
maven-releases:Nexus默认创建,供开发人员部署jar包的宿主仓库要求release版本
maven-snapshots:Nexus默认创建,供开发人员部署jar包的宿主仓库要求snapshots版本
初始状态时,以上几个仓库都没有依赖
使用本地Maven空仓库
<localRepository>E:\Java\repository-3.8.5</localRepository>
在mirrors标签中添加Nexus库
<mirror>
<id>nexus-mine</id>
<mirrorOf>central</mirrorOf>
<name>Nexus mine</name>
<url>http://xx.xx.xx.xx:8081/repository/maven-public/</url>
</mirror>
在servers标签配置用户信息
<server>
<id>nexus-mine</id>
<username>admin</username>
<password>123456</password>
</server>
注意:server标签的id标签值必须与mirror标签的id标签值一致
在maven项目中执行mvn clean compile
命令,下载依赖后,Nexus服务器就有jar包
4.2. 将jar包部署到Nexus
在maven项目中配置如下信息
<distributionManagement>
<snapshotRepository>
<id>nexus-mine</id>
<name>Nexus Snapshot</name>
<url>http://xx.xx.xx.xx:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
snapshotRepository 的 id 标签也必须和 settings.xml 中指定的 mirror 标签的 id 属性一致
执行部署命令
mvn deploy
4.3. 引用他人部署的jar包
在maven项目中引入如下配置
<repositories>
<repository>
<id>nexus-mine</id>
<name>Nexus Snapshot</name>
<url>http://xx.xx.xx.xx:8081/repository/maven-snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
4.4. 修改Nexus仓库配置
Nexus的远程仓库默认为中央仓库,访问较慢,可以修改为国内的阿里云仓库
点击进入,修改远程中央仓库配置
4.5. 上传jar依赖
对于不能从中央仓库获取的第三方依赖,可以直接上传到Nexus私库
选择maven-releases仓库进入,选择需要上传的jar包
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/76758.html