# 私服
私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题
Nexus
- Sonatype 公司的一款 maven 私服产品
- 下载地址: 点击
- 安装 Nexus
- 安装完成后解压
- 启动服务器 (命令行启动)
nexus.exe /run nexus
启动比较慢,耐心等待出现 success
- 访问服务器 (默认端口:8081)
http://localhost:8081
修改基础配置信息
- 安装路径下 etc 目录中 nexus-default.properties 文件保存有 nexus 基础配置信息,例如默认访问端口
修改服务器运行配置信息
- 安装路径下 bin 目录中 nexus.vmoptions 文件保存有 nexus 服务器启动对应的配置信息,例如默认占用内存空间
# 私服仓库分类
仓库类别 | 英文名称 | 功能 | 关联操作 |
---|---|---|---|
宿主仓库 | hosted | 保存自主研发 + 第三方资源 | 上传 |
代理仓库 | proxy | 代理连接中央仓库 | 下载 |
仓库组 | group | 为仓库编组简化下载操作 | 下载 |
# 私服资源操作流程分析
# 资源上传和下载
# Maven 配置私服访问
操作步骤:
- 在私服中创建两个仓库
起名后点击 create 创建即可,再创建一个 release 的仓库出来
- 创建完成后,打开 maven 的 conf 目录中的 settings.xml 配置文件
- 配置 servers 标签
<!-- 配置访问私服的权限 --> | |
<server> | |
<!-- 私服中的服务器 id 名称 --> | |
<id>dkx-snapshot</id> | |
<username>admin</username> | |
<password>admin</password> | |
</server> | |
<!-- 配置访问私服的权限 --> | |
<server> | |
<!-- 私服中的服务器 id 名称 --> | |
<id>dkx-release</id> | |
<username>admin</username> | |
<password>admin</password> | |
</server> |
- 配置 mirror 标签
- 在私服中点击 maven-public 仓库
- 将两个创建好的仓库拖拽过去到 Members 中,让其组来管理
<!-- 私服的访问路径 --> | |
<mirror> | |
<!-- 配置管理那两个仓库的组的 id--> | |
<id>maven-public</id> | |
<!-- 所有的操作都与私服打交道 --> | |
<mirrorOf>*</mirrorOf> | |
<!-- 配置该组的 url 地址 --> | |
<url>http://localhost:8081/repository/maven-public/</url> | |
</mirror> |
- 配置 pom.xml 配置文件
<!-- 配置当前工程保存在私服中具体的位置 --> | |
<distributionManagement> | |
<repository> | |
<id>dkx-release</id> | |
<url>http://localhost:8081/repository/dkx-release/</url> | |
</repository> | |
<snapshotRepository> | |
<id>dkx-snapshot</id> | |
<url>http://localhost:8081/repository/dkx-snapshot/</url> | |
</snapshotRepository> | |
</distributionManagement> |
# mvn deploy 发布命令
- 将 jar 发布到私服仓库中
- 执行命令上传
mvn deploy
- 上传报错查看解决方式
再将版本改为 snapshot 临时版本然后上传
<groupId>com.dkx.spring</groupId> | |
<artifactId>maven-spring-fu01</artifactId> | |
<version>1.0-SNAPSHOT</version> | |
<packaging>pom</packaging> |
所有子工程也更改
执行 mvn deploy
查看上传情况
- release
- snapshot
# 私服访问中央服务器设置
- 配置位置 (nexus 服务器页面设置)