Windows 系统怎么搭建 Maven 私服:从零到可用的完整教程
一、先说结论:为什么要搭 Maven 私服
很多人刚开始写 Java 项目时,依赖包都是直接从公网 Maven 仓库下载。这样做虽然方便,但一旦遇到下面这些情况,就会很麻烦:
- 公司内网没法直接访问外网仓库;
- 团队多人开发,依赖版本不统一;
- 项目里有一些第三方包、内部公共包,需要统一管理;
- 公网仓库下载慢,构建时间长;
- 想把自己公司的私有 Jar 包集中保存起来,避免到处拷贝。
这时候就需要一个 Maven 私服。
最常见的私服工具就是 Nexus Repository Manager,它支持:
- 托管本地 Jar 包;
- 代理远程仓库;
- 做多个仓库聚合;
- 给团队提供统一依赖源。
如果你是 Windows 用户,搭建 Maven 私服并不难,按下面步骤做,基本都能成功。
二、什么是 Maven 私服
简单理解,Maven 私服就是一个“中转仓库”。
你平时在项目里写依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>6.1.2</version>
</dependency>
Maven 默认会去中央仓库下载。
但如果你配置了私服,Maven 会优先去私服找:
- 私服里有这个包,直接下载;
- 私服里没有,就由私服代你去远程仓库拉取;
- 拉取后缓存到私服,后面大家都能用。
所以私服的价值主要有三个:
- 统一依赖管理
- 提升下载速度
- 方便上传内部 Jar 包
三、搭建前的准备工作
1. 电脑环境要求
建议准备以下环境:
- Windows 10 / Windows 11 / Windows Server 都可以;
- JDK 8 及以上,推荐 JDK 17;
- 至少 4GB 内存,8GB 更稳;
- 硬盘预留 10GB 以上空间;
- 固定一个空闲端口,默认常用 8081。
2. 安装 JDK
如果你还没装 JDK,先装好 Java 环境。
检查是否已安装
打开命令提示符,输入:
java -version
如果能看到版本号,说明已经安装。
如果提示不是内部或外部命令,就需要先安装 JDK。
建议配置环境变量
配置好:
JAVA_HOMEPath里加入%JAVA_HOME%\bin
验证:
echo %JAVA_HOME%
四、下载 Maven 私服软件:Nexus Repository
目前最常用的是 Nexus Repository Manager 3。
你可以下载安装到 Windows 上直接运行。
下载思路
去官方站点下载对应版本,一般选择:
nexus-repository-manager-3.x.x-win64.zip
下载后解压到一个固定目录,比如:
D:\nexus
建议不要放在中文路径里,也尽量别放系统盘深层目录,后期维护更方便。
五、Windows 下安装并启动 Nexus 私服
1. 解压文件
把下载好的压缩包解压到:
D:\nexus
解压后通常会看到两个目录:
nexus-3.x.xsonatype-work
其中:
nexus-3.x.x:程序本体sonatype-work:数据目录,存储仓库内容和配置
2. 修改运行端口
Nexus 默认端口一般是 8081。
如果 8081 被别的软件占用,可以改端口。
打开:
D:\nexus\nexus-3.x.x\etc\nexus-default.properties
找到类似配置:
application-port=8081
如果要改成 8082,就改成:
application-port=8082
保存即可。
3. 启动 Nexus
进入这个目录:
D:\nexus\nexus-3.x.x\bin
找到 nexus.exe 或相关启动脚本,直接运行。
也可以用命令行启动。
如果是控制台方式,可能类似下面:
nexus.exe /run
第一次启动会比较慢,耐心等几分钟。
4. 打开管理页面
启动成功后,在浏览器输入:
http://localhost:8081
如果你改了端口,就把 8081 换成你自己的端口。
六、登录 Nexus 管理后台
首次登录时,Nexus 会生成一个管理员初始密码。
1. 找到初始密码
到下面目录找:
D:\nexus\sonatype-work\nexus3\admin.password
打开这个文件,里面就是初始密码。
2. 默认账号
- 用户名:
admin - 密码:
admin.password文件里的内容
3. 第一次登录后建议修改密码
登录后系统会要求你修改密码,建议立刻改成复杂一点的密码。
七、Nexus 私服的核心仓库类型
Nexus 里面常见有三种仓库类型:
1. Hosted 仓库
自己上传 Jar 包的地方。
适合放:
- 公司内部公共包
- 第三方手动导入包
- 自研组件包
2. Proxy 仓库
代理远程仓库,比如 Maven Central。
作用是:
- 本地没有时自动去远程下载;
- 缓存到本地,提高后续下载速度。
3. Group 仓库
聚合多个仓库给 Maven 统一使用。
你在 settings.xml 里通常只配一个 Group 仓库地址就够了。
八、创建一个 Maven 私服仓库
下面一步一步来。
1. 创建 Hosted 仓库
适合上传自己的 Jar 包。
操作步骤:
- 进入 Nexus 管理页面;
- 左侧点击 Repositories;
- 右上角点击 Create repository;
- 选择 maven2(hosted);
- 填写仓库信息。
常见配置:
- Name:
maven-releases - Version policy:
Release - Deployment policy:
Disable redeploy
如果你还要放快照包,可以再建一个:
- 名称:
maven-snapshots - Version policy:
Snapshot - Deployment policy:
Allow redeploy
2. 创建 Proxy 仓库
用于代理官方仓库。
选择:
maven2(proxy)
常见配置:
- Name:
maven-central-proxy - Remote storage:
https://repo1.maven.org/maven2/
保存即可。
3. 创建 Group 仓库
把上面的仓库聚合起来。
选择:
maven2(group)
常见配置:
- Name:
maven-public
把以下仓库加入成员列表:
maven-releasesmaven-snapshotsmaven-central-proxy
这样 Maven 客户端只要配置这个 maven-public 即可。
九、配置 Maven 客户端使用私服
这一步非常关键。
如果不配好,项目还是会去外网拉依赖。
1. 找到 Maven 的 settings.xml
一般在:
D:\apache-maven\conf\settings.xml
如果你安装的是用户目录下的 Maven,也可能在:
C:\Users\你的用户名\.m2\settings.xml
建议优先修改用户目录下的 settings.xml,这样不影响全局。
2. 配置镜像源
打开 settings.xml,找到 <mirrors>,加入:
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus Maven Public</name>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
</mirrors>
说明:
mirrorOf=*:表示所有仓库都走私服;url:就是你 Nexus 的 Group 仓库地址。
如果你的 Nexus 跑在别的电脑上,把 localhost 改成对应 IP 地址,比如:
http://192.168.1.100:8081/repository/maven-public/
3. 配置上传账号
如果你要往私服里上传 Jar 包,还要配置 servers:
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>你的密码</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>你的密码</password>
</server>
</servers>
注意:
<id>要和你仓库名称一致;- 账号密码要正确。
十、上传自己的 Jar 包到私服
有两种常见方式:
一种是网页手动上传,另一种是命令行上传。
方式一:网页上传
适合测试。
步骤:
- 打开 Nexus 页面;
- 进入对应的 hosted 仓库,比如
maven-releases; - 点击 Upload;
- 选择 Jar、POM、分类信息等;
- 提交。
这种方式适合少量上传,但不适合日常开发流程。
方式二:用 Maven 命令上传
这是最标准的方式。
假设你有一个本地 Jar 包:
D:\libs\my-utils-1.0.0.jar
执行命令:
mvn deploy:deploy-file ^
-DgroupId=com.company ^
-DartifactId=my-utils ^
-Dversion=1.0.0 ^
-Dpackaging=jar ^
-Dfile=D:\libs\my-utils-1.0.0.jar ^
-Durl=http://localhost:8081/repository/maven-releases/ ^
-DrepositoryId=maven-releases
如果是快照包:
mvn deploy:deploy-file ^
-DgroupId=com.company ^
-DartifactId=my-utils ^
-Dversion=1.0.1-SNAPSHOT ^
-Dpackaging=jar ^
-Dfile=D:\libs\my-utils-1.0.1-SNAPSHOT.jar ^
-Durl=http://localhost:8081/repository/maven-snapshots/ ^
-DrepositoryId=maven-snapshots
十一、项目里如何引用私服中的依赖
如果你的 Jar 包已经上传到 Nexus,就可以在项目里直接写依赖:
<dependency>
<groupId>com.company</groupId>
<artifactId>my-utils</artifactId>
<version>1.0.0</version>
</dependency>
然后执行:
mvn clean package
Maven 就会去私服下载。
十二、常见问题排查
1. 浏览器打不开 Nexus 页面
先检查:
- Nexus 是否已经启动;
- 端口是否被占用;
- Windows 防火墙是否拦截;
- Java 环境是否正确。
查看端口占用:
netstat -ano | findstr 8081
如果被占用,换端口或者关闭占用程序。
2. 启动很慢,甚至卡住
这是 Nexus 常见情况,尤其是第一次启动。
可检查:
- JDK 是否安装正确;
- 内存是否太小;
- 磁盘空间是否不足;
- 是否被杀毒软件拦截。
建议给 JVM 配置至少 1GB 以上内存,机器条件好一些可以更高。
3. Maven 依赖下载失败
检查 settings.xml 里的镜像地址是否正确:
http://localhost:8081/repository/maven-public/
再确认:
- Nexus 能正常打开;
- Group 仓库里包含了 proxy 仓库;
- 电脑网络没问题;
- DNS 正常。
4. 上传 Jar 包时报 401 或 403
一般是权限问题,常见原因:
settings.xml里的<repositoryId>和 Nexus 仓库 ID 不一致;- 用户名密码错误;
- 仓库类型不支持部署;
- 你上传到了代理仓库,而不是 hosted 仓库。
记住:
只有 hosted 仓库才能上传,proxy 仓库不能直接部署。
5. 依赖更新不及时
这是缓存问题。你可以:
- 在 Nexus 里清理缓存;
- 在 Maven 里强制更新:
mvn clean package -U
-U 的意思是强制更新快照和远程依赖。
十三、推荐的实际部署方案
如果你是个人学习,建议这样配:
- 1 个
maven-publicGroup 仓库; - 1 个
maven-central-proxyProxy 仓库; - 1 个
maven-releasesHosted 仓库; - 1 个
maven-snapshotsHosted 仓库。
如果你是公司团队使用,建议再加上:
- 单独的第三方代理仓库;
- 不同项目不同权限账号;
- 定期备份
sonatype-work目录; - 重要 Jar 包建立版本规范。
十四、Windows 搭建 Maven 私服的注意事项
1. 不要放在系统盘深层目录
建议放在:
D:\nexus
维护起来更方便。
2. 路径不要带中文
有些 Java 程序对中文路径兼容不好。
3. 端口别和常用软件冲突
比如 8080、8081、9090 这些端口要提前检查。
4. 防火墙记得放行
如果局域网其他机器要访问你的私服,要放行对应端口。
5. 定期备份数据目录
重点备份:
sonatype-work\nexus3
这个目录丢了,仓库数据也会丢。
十五、适合新手的最简版搭建流程
如果你只想快速跑起来,按这 6 步做就行:
- 安装 JDK;
- 下载并解压 Nexus 到
D:\nexus; - 启动 Nexus,打开
http://localhost:8081; - 用
admin和初始密码登录; - 创建
maven-publicGroup 仓库; - 修改 Maven 的
settings.xml指向私服。
这样就已经能正常用了。
十六、总结
Windows 系统搭建 Maven 私服,核心就是三件事:
- 装好 Nexus
- 建好仓库
- 让 Maven 指向私服
只要这三步通了,后面不管是拉取依赖、上传 Jar 包,还是给团队统一管理组件,都会轻松很多。
对于大多数个人开发和小团队来说,Nexus 是最实用、最稳妥的 Maven 私服方案。
如果你只是想本机学习,直接装在 Windows 上完全够用;如果后面要给多人共享,再考虑部署到 Linux 服务器、NAS 或云服务器上,会更稳定。

还没有评论,来说两句吧...