mvnw和mvnw.cmd文件的目的是什么?
当我创build一个Spring Boot应用程序时,我可以在项目的根目录中看到mvnw
和mvnw.cmd
文件。 这两个文件的目的是什么?
这些文件来自Maven包装 。 它的工作方式与Gradle包装类似。
这使您可以运行Maven项目,而无需安装Maven并将其显示在path上。 它下载正确的Maven版本,如果没有find(据我所知默认在您的用户主目录)。
mvnw
文件用于Linux(bash), mvnw.cmd
用于Windows环境。
要创build或更新所有必要的Maven Wrapper文件,请执行以下命令
mvn -N io.takari:maven:wrapper
要使用不同版本的maven,你可以指定版本如下
mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
这两个命令都需要PATH
maven,如果你的项目中已经有了mvnw,你可以在命令中使用./mvnw
而不是mvw
。
命令mvnw
使用默认情况下下载到~/.m2/wrapper
在第一次使用的Maven。
每个项目在.mvn/wrapper/maven-wrapper.properties
中都指定了Maven的URL:
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
要更新或更改Maven版本,请调用以下内容(记住关于多模块项目的--non-recursive
):
./mvnw io.takari:maven:wrapper -Dmaven=3.3.9
或者手动修改.mvn/wrapper/maven-wrapper.properties
。
要使用Maven从头开始生成包装器(您需要在PATH
运行中使用它:
mvn io.takari:maven:wrapper -Dmaven=3.3.9