maven基础-mvnw

文章目录

    • 什么是mvnw
      • 安装Maven Wrapper
      • springboot2启动可以使用mvnw 命令

什么是mvnw

mvnw是Maven Wrapper的缩写。因为我们安装Maven时,默认情况下,系统所有项目都会使用全局安装的这个Maven版本。但是,对于某些项目来说,它可能必须使用某个特定的Maven版本,这个时候,就可以使用Maven Wrapper,它可以负责给这个特定的项目安装指定版本的Maven,而其他项目不受影响。

简单地说,Maven Wrapper就是给一个项目提供一个独立的,指定版本的Maven给它使用。

作用:

mvnw是一个maven wrapper script,它可以让你在没有安装maven或者maven版本不兼容的条件下运行maven的命令.

原理:

  1. 它会寻找maven在你电脑环境变量path中的路径。
  2. 如果没有找到这个路径它就会自动下载maven到一个默认的路径下,之后你就可以运行maven命令了。
  3. 有时你会碰到一些项目的peoject和你本地的maven不兼容,它会帮你下载合适的maven版本,然后运行。

总结:mvnw是一个maven wrapper script,它可以让你在没有安装maven或者maven版本不兼容的条件下运行maven的命令.

安装Maven Wrapper

安装Maven Wrapper最简单的方式是在项目的根目录(即pom.xml所在的目录)下运行安装命令:

mvn -N io.takari:maven:0.7.7:wrapper

它会自动使用最新版本的Maven。注意0.7.6是Maven Wrapper的版本。最新的Maven Wrapper版本可以去官方网站(https://github.com/takari/maven-wrapper)查看。

如果要指定使用的Maven版本,使用下面的安装命令指定版本,例如3.6.0:

mvn -N io.takari:maven:0.7.7:wrapper -Dmaven=3.6.0

安装后,查看项目结构,
发现多了mvnw、mvnw.cmd和.mvn目录,我们只需要把mvn命令改成mvnw就可以使用跟项目关联的Maven。

例如:

mvnw clean package

Maven Wrapper的另一个作用是把项目的mvnw、mvnw.cmd和.mvn提交到版本库中,可以使所有开发人员使用统一的Maven版本。

Maven Wrapper的另一个作用是把项目的mvnw、mvnw.cmd和.mvn提交到版本库中,可以使所有开发人员使用统一的Maven版本。

使用Maven Wrapper,可以为一个项目指定特定的Maven版本。

springboot2启动可以使用mvnw 命令

在Spring Boot工程中自带的有两个文件:mvnw与mvnw.cmd。这两个是什么文件呢?
Maven是一个常用的构建工具,但是Maven的版本和插件的配合并不是十分完美,有时为了保证有些插件的正常运行,我们不得不需要切换到一个稍微旧一些的版本。而这个切换工作需要用户重新安装一个Maven,那么就太麻烦了。

有一个工具Maven Wrapper(包装器),可以完成在Maven的某一版本下轻松切换到其它版本的目的。需要注意的是,Maven Wrapper并不是Maven官方提供的工具,而是第三方工具,若要使用,则需要安装。

Spring Boot工程中的mvnw即为安装好的Maven Wrapper工具。其中mvnw.cmd为Maven Wrapper的命令行运行窗口,而mvnw文件则为Maven Wrapper的配置文件。

在学习springboot2的时候,我们会发现,可以用 命令 mvnw spring-boot:run 来启动项目。

使用这个命令,依赖于项目中的 mvnw,mvnw.bat,mvnw文件夹。

你可能感兴趣的:(#,开发工具,maven)