了解maven-wrapper这一篇就够了

本文分析了SpringBoot项目中使用传统Maven和Maven-wrapper的流程,强调了Maven-wrapper自动下载和版本管理的优点,同时指出了在IDEA环境下可能的不足,如磁盘空间浪费和开发人员对repository的关注度降低。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录结构

使用https://start.spring.io/生成Spring Boot初始项目时,会发现有这几个文件

├── .mvn 

│   └── wrapper 

│       ├── maven-wrapper.jar 

│       └── maven-wrapper.properties 

├── mvnw 

└── mvnw.cmd

传统maven

传统maven的使用流程:

  • 传统使用maven需要先到官网上下载
  • 配置环境变量把mvn可执行文件路径加入到环境变量,以便之后使用直接使用mvn命令。
  • 另外项目pom.xml文件描述的依赖文件默认是下载在用户目录下的.m2文件下的repository目录下。
  • 如果需要更换maven的版本,需要重新下载maven并替换环境变量path中的maven路径。

maven-wrapper

有了maven-wrapper,会获得以下特性:

  • 执行mvnw比如mvnw clean ,如果本地没有匹配的maven版本,直接会去下载maven,放在用户目录下的.m2/wrapper中
  • 并且项目的依赖的jar包会直接放在项目目录下的repository目录,这样可以很清晰看到当前项目的依赖文件。
  • 如果需要更换maven的版本,只需要更改项目当前目录下.mvn/wrapper/maven-wrapper.properties的distributionUrl属性值,更换对应版本的maven下载地址。mvnw命令就会自动重新下载maven。
  • 可以说带有mvnw文件的项目,除了额外需要配置 java环境外,只需要使用本项目的mvnw脚本就可以完成编译,打包,发布等一系列操作。

mvnw文件

如果你的项目没有mvnw文件,需要先下载maven,并把mvn可执行文件路径需加入的PATH中。然后执行以下命令,就会自动生成mvnw相关一系列文件

mvn -N io.takari:maven:wrapper

不足

  • maven wrapper可以自动下载maven,但实际上我们常用的idea软件都自带了maven。
  • 如果用上了idea,一般习惯也是直接使用Navigation Bar执行maven命令比较方便。
  • maven wrapper根据配置自动切换maven版本。这个看起来很有用,但实际上maven版本也是很稳定。很少会出现需要切换maven版本的情况
  • 使用mvnw命令会在直接当前项目下生成repository,看起来每一个项目独立了repository,很模块化的样子。但是这样不仅浪费了磁盘空间,且实际上开发中并不关心repository,idea会自动有external librayies目录提供查看依赖的jar包。

优点

  • maven wrapper在团队开发中,可以统一maven版本、不需要自己安装maven。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值