Maven Wrapper (mvnw) 概念和安装

什么是 Maven Wrapper?

Maven Wrapper (mvnw) 是一个工具,允许你在没有预先安装 Maven 的情况下运行 Maven 项目,它会自动下载并使用指定版本的 Maven

安装 Maven Wrapper 的方法

方法 1:使用 Maven 插件

如果你已经安装了 Maven,可以运行以下命令来添加 Maven Wrapper:

1
2
3
4
5
# 在项目根目录下执行
mvn -N io.takari:maven:wrapper

# 指定 Maven 版本
mvn -N io.takari:maven:wrapper -Dmaven=3.8.1

方法 2:手动安装

  1. 下载 wrapper jar 文件
1
wget https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
  1. 创建目录结构
1
mkdir -p .mvn/wrapper
  1. 创建配置文件
    创建 .mvn/wrapper/maven-wrapper.properties
1
2
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
  1. 创建 wrapper 脚本
    创建 .mvn/wrapper/maven-wrapper.sh(Linux/Mac)和 .mvn/wrapper/maven-wrapper.bat(Windows)

方法 3:从已有项目复制

如果你有一个已经配置了 Maven Wrapper 的项目,可以直接复制以下文件到新项目:

  • .mvn/ 目录及其内容
  • mvnw 文件(Unix/Linux/Mac)
  • mvnw.cmd 文件(Windows)

使用 Maven Wrapper

安装完成后,你可以使用以下命令代替常规的 mvn 命令:

1
2
3
4
5
# Linux/Mac
./mvnw clean install

# Windows
./mvnw.cmd clean install

项目结构

安装 Maven Wrapper 后,你的项目结构应该包含:

your-project/
├── .mvn/
│   └── wrapper/
│       ├── maven-wrapper.jar
│       ├── maven-wrapper.properties
│       └── maven-wrapper.sh
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src/

优势

  1. 版本一致性:确保所有开发者使用相同版本的 Maven
  2. 无需预安装:新开发者无需手动安装配置 Maven
  3. CI/CD 友好:在构建服务器上无需预先安装 Maven