SpringBoot–maven-wrapper(mvnw)–使用/详解

SpringBoot–maven-wrapper(mvnw)–使用/详解本文介绍 SpringBoot 项目中 maven wrapper 也就是 mvnw 的用法

原文网址:SpringBoot–maven-wrapper(mvnw)–使用/详解_IT利刃出鞘的博客-CSDN博客

简介

本文介绍SpringBoot项目中maven-wrapper(也就是mvnw)的用法。

粉丝福利:很多粉丝私信问我有没有Java的面试及PDF书籍等资料,我整理了一下,包含:真实面试题汇总、简历模板、PDF书籍、PPT模板等。这些是我自己也在用的资料,面试题是面试官问到我的问题的整理,其他资料也是我自用的,真正实用、靠谱。资料可以从这里免费获取:资料地址

问题引出

        用https://start.spring.io/生成Spring Boot初始项目后,发现有几个奇怪的文件:

详见下图:

SpringBoot--maven-wrapper(mvnw)--使用/详解

        在一些项目中并没有这几个文件,可见它们不是必须的,那么它们有什么作用呢?

maven-wrapper的作用

传统maven的使用流程

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

现在可以使用maven-wrapper,它的作用如下

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

手动生成mvnw等

如果想要手动生成mvnw相关文件,可以执行命令:

mvn -N io.takari:maven:wrapper

它就能生成如下文件:

没必要使用maven-wrapper

  1. Idea软件自带了maven,不需要maven wrapper来自动下载
  2. Idea软件直接使用侧边栏执行maven命令比较方便。
  3. maven版本也是很稳定。很少会出现需要切换maven版本的情况
    1. 所以maven wrapper根据配置自动切换maven版本这个功能基本用不到。
  4. mvnw命令会在直接当前项目下生成repository,看起来每一个项目独立了repository,很模块化的样子。但是这样不仅浪费了磁盘空间,且实际上开发中并不关心repository,Idea会自动有external librayies目录提供查看依赖的jar包。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224640.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午11:29
下一篇 2026年3月17日 上午11:29


相关推荐

  • PCL 计算点云法向量并显示

    PCL 计算点云法向量并显示PCL 计算法向量并显示 用 OMP 进行计算加速以及法线定向的深层次理解 操作

    2026年3月26日
    1
  • BP神经网络原理及matlab实例

    BP神经网络原理及matlab实例转载:http://blog.csdn.net/u013007900/article/details/50118945上一次我们讲了M-P模型,它实际上就是对单个神经元的一种建模,还不足以模拟人脑神经系统的功能。由这些人工神经元构建出来的网络,才能够具有学习、联想、记忆和模式识别的能力。BP网络就是一种简单的人工神经网络。 本文具体来介绍一下一种非常常见的神经网络模型——反

    2022年7月20日
    18
  • python中sort函数的使用

    python中sort函数的使用转自 https blog csdn net lyy article details 我们需要对 List 进行排序 Python 提供了两个方法对给定的 ListL 进行排序 方法 1 用 List 的成员函数 sort 进行排序方法 2 用内建函数 sorted 进行排序 从 python2 4 开始 sort 函数定义 sort cmp None key None rev

    2026年3月19日
    2
  • 证书申请CSR文件

    证书申请CSR文件原文 http blog chinaunix net uid 24709751 id 3475752 htmlCSR 是 CerificateSi 的英文缩写 即证书请求文件 也就是证书申请者在申请数字证书时由 CSP 加密服务提供者 在生成私钥的同时也生成证书请求文件 证书申请者只要把 CSR 文件提交给证书颁发机构后 证书颁发机构使用其根证书私钥签名就生成了证书

    2026年3月16日
    2
  • Java实习生面试题整理

    Java实习生面试题整理一 数据类型包装类型八个基本类型 boolean 1 byte 8 char 16 short 16 int 32 float 32 long 64 double 64 基本类型都有对应的包装类型 基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成 Integerx 2 装箱 inty x 拆箱缓存池

    2026年3月20日
    1
  • 中国电信4g最快服务器IP,中国电信DNS IP地址大全(32个省)

    中国电信4g最快服务器IP,中国电信DNS IP地址大全(32个省)中国电信DNSIP地址,包括广东电信DNS,上海电信DNS,北京电信DNS,浙江电信DNS,江苏电信DNS等共全国32个电信省份的DNSIP地址。中国电信辽宁省沈阳市DNS59.46.69.66中国电信辽宁省大连市DNS59.44.126.20中国电信青海省西宁市DNS202.100.138.68中国电信新疆乌鲁木齐市DNS61.128.114.133中国电信新疆乌…

    2022年7月11日
    272

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号