惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
P
Proofpoint News Feed
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
美团技术团队
D
Docker
博客园 - Franky
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - sikewang

Gradle的init.d的init.gradle , init.d的位置 , x.gradle或x.gradle.kts的位置 Plugin [id: 'org.gradle.kotlin.kotlin-dsl', version: '4.2.1'] was not found in any of the following sources: JEnv-for-Windows 安装与使用 jenv报错无法加载文件jenv.ps1 Warning! PATH is not properly set up, /Users/i/.rvm/gems/ruby-3.3.0/bin is not at first place.摘抄整理 mac上如何用fvm设置全局Flutter SDK? Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (1.8) and 'compileDebugKotlin' (17). fvm Flutter多版本管理安装与常用指令 JVM_XMS 和 java_opts哪种写法对?如何在JVM中设置JVM_XMS和java_opts? Elastic Search 安装部署最全教程(Docker) VMware中Ubuntu配置固定IP 下载Android SDK tools完成Android SDK 安装、配置环境变量 Oracle JDK究竟从哪个版本开始收费? 报红 import 'package:http/http.dart' as http; import 'package:date_format/date_format.dart'; Flutter doctor CSRF攻击与防御 windows查看文件/夹被哪个进程占用以及解除方法 windows上安装nvm-noinstall.zip 修改chrome用户数据的路径
maven wrapper 介绍及使用详解
sikewang · 2026-03-14 · via 博客园 - sikewang

Maven Wrapper 顾名思义是 Maven 的绿色包装包;安装 Maven 时,默认情况下,系统所有项目都会使用全局安装的这个 Maven 版本。但某些项目需要使用某个特定的 Maven 版本,这时,就可以使用 Maven Wrapper,它独立于全局的 Maven。

安装

安装 Maven Wrapper 前提是已经全局安装了一个 Maven,最简单的方式是在项目的根目录(即 pom.xml 所在的目录)下运行如下命令:

mvn wrapper:wrapper

如上命令安装的 maven wrapper 版本和全局的 Maven 版本一致,当然也可以指定特定的 maven 版本,如下安装命令:

mvn wrapper:wrapper -Dmaven=3.5.4

目录结构

项目里安装完 maven wrapper 之后,目录结构如下:

my-project
├── .mvn
│   └── wrapper
│       ├── maven-wrapper.jar
│       └── maven-wrapper.properties
├── mvnw
├── mvnw.cmd
├── ...
├── ...
├── ...
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   └── resources
    └── test
        ├── java
        └── resources

你会发现多了如下几个目录及文件:

  • .mvn:这是存放 maven wrapper 相关 jar 包及一些配置信息的文件,它们放在 wrapper 目录下;
    • maven-wrapper.jar:其实是 maven 可执行的 jar 包;
    • maven-wrapper.properties:maven 发布及版本等配置信息文件。
  • mvnw:Linux 系统下的 mvn 脚本文件;
  • mvnw.cmd:Windows 系统下的 mvn 脚本文件。

编译打包命令

由于是绿色包装包,执行命令需要在相对路径下运行。

在项目根目录,Linux 或 macOS 下运行时需要加上 ./

./mvnw clean compile

打包命令如下:

./mvnw clean package

其实使用全局 maven 命令时的 mvn 命令,在项目根目录下,替换成 ./mvnw 即可,其余命令选项及参数都相同。

结合 idea 使用

我们知道当使用 idea 开发 maven 项目时,右侧工具栏里会出现 maven 可视化工具操作界面,默认使用全局的 maven,为了和项目的 maven wrapper 一致,需要修改配置,具体在 idea 的偏好配置(PreferencesSettings),再进一步路径如下:

Build, Execution, Deployment -> Build Tools -> Maven

Maven 配置项的首页,将 Maven home path: 对应配置从 Bundled (Maven 3) 改为 Use Maven wrapper,即适配项目里的 maven wrapper 版本的工具栏(使用 .mvn/wrapper/maven-wrapper.properties 配置里的版本)。