mvnw和mvnw.cmd文件的作用是什么?

10 浏览
0 Comments

mvnw和mvnw.cmd文件的作用是什么?

当我创建一个Spring Boot应用程序时,我可以在项目的根目录中看到mvnwmvnw.cmd这两个文件。这两个文件的目的是什么?

admin 更改状态以发布 2023年5月24日
0
0 Comments

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 

0
0 Comments

这些文件来自于Maven wrapper。它的工作方式类似于Gradle wrapper

这使得你可以在没有安装 Maven 或 Maven 不在路径上的情况下运行 Maven 项目。如果未找到正确的 Maven 版本,它会下载它(据我所知,默认为用户主目录)。

mvnw 文件适用于 Linux(Bash),而 mvnw.cmd 适用于 Windows 环境。


要创建或更新所有必需的 Maven Wrapper 文件,请执行以下命令:

mvn -N io.takari:maven:wrapper

要使用不同的 Maven 版本,可按以下方式指定版本:

mvn -N io.takari:maven:wrapper -Dmaven=3.3.3

这两个命令都需要将 Maven 加入到 PATH 中(将 Maven 的 bin 路径添加到系统变量的 Path 中)。如果你已经在项目中有了 mvnw,则可以在命令中使用 ./mvnw 来代替 mvn

0