栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

简介

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

问题引出

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

.
|-- .mvn
|   `-- wrapper
|       |-- maven-wrapper.jar
|       `-- maven-wrapper.properties
|-- mvnw
|-- mvnw.cmd

详见下图:

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

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

它就能生成如下文件:

.
|-- .mvn
|   `-- wrapper
|       |-- maven-wrapper.jar
|       `-- maven-wrapper.properties
|-- mvnw
|-- mvnw.cmd

没必要使用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包。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号