mvnw
是 Maven Wrapper 的启动脚本文件,全称是 Maven Wrapper Script。
在一个使用 Maven 的项目中,你可能会看到以下几个文件:
mvnw
(Linux / macOS 下的可执行脚本)mvnw.cmd
(Windows 下的可执行脚本).mvn/wrapper/maven-wrapper.jar
.mvn/wrapper/maven-wrapper.properties
它们一起构成了 Maven Wrapper。
一、作用
1.保证构建环境一致性
不同开发者的机器上可能安装了不同版本的 Maven。
使用 mvnw
时,会自动下载并使用项目指定的 Maven 版本(在 .mvn/wrapper/maven-wrapper.properties
中配置)。
避免了因为 Maven 版本不同而导致的构建问题。
2.简化开发者环境配置
新开发者不需要提前在本地安装 Maven,只要有 JDK 和 mvnw
文件,就能构建项目。
例如:
bash
./mvnw clean install # Linux / macOS
mvnw.cmd clean install # Windows
3.更适合 CI/CD 场景
在 CI/CD 环境中,不必预先安装 Maven,只需依赖 JDK。
CI 系统会通过 mvnw
自动拉取所需的 Maven 版本,构建结果更可控。
二、总结
mvnw
就是一个 自带 Maven 的项目启动脚本 ,目的是让项目可以在没有全局 Maven 安装的情况下,仍然能用项目自己定义的 Maven 版本去构建。
如果你看到一个项目带有 mvnw
,那说明项目维护者希望你直接用它,而不是用你本机安装的 mvn
。