当我创建Spring Boot应用程序时,我可以在项目的根目录中看到mvnw和mvnw.cmd文件。这两个文件的目的是什么?
mvnw
mvnw.cmd
这些文件来自Maven包装。它的工作原理类似于Gradle包装。
这允许您运行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。
PATH
bin
Path
./mvnw
mvn
命令mvnw使用Maven,在第一次使用时默认下载到~/.m2/wrapper。
~/.m2/wrapper
Maven的URL在每个项目的.mvn/wrapper/maven-wrapper.properties处指定:
.mvn/wrapper/maven-wrapper.properties
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
要更新或更改Maven版本,请调用以下方法(请记住多模块项目的--non-recursive):
--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
到目前为止,最好的选择是使用maven容器作为构建工具。像这样的mvn.sh脚本就足够了:
mvn.sh
#!/bin/bash docker run --rm -ti \ -v $(pwd):/opt/app \ -w /opt/app \ -e TERM=xterm \ -v $HOME/.m2:/root/.m2 \ maven mvn "$@"
Maven包装对于需要特定版本Maven的项目(或者根本不想安装Maven的用户)是一个很好的选择。我们可以只使用特定于项目的包装器脚本,而不是在操作系统中安装它的多个版本。
mvnw:是一个可执行的Unix shell脚本,用于取代完全安装的Maven
mvnw.cmd:用于Windows环境
用例
包装器应该适用于不同的操作系统,例如:
之后,我们可以在Unix系统上运行我们的目标:
./mvnw clean install
Batch命令:
./mvnw.cmd clean install
如果包装器属性中没有指定的Maven,它将被下载并安装在系统的$USER_HOME/.m2/wrapper/dists文件夹中。
$USER_HOME/.m2/wrapper/dists
Maven Wrapper插件
Maven Wrapper插件使自动安装在一个简单的Spring Boot项目。
首先,我们需要进入项目的主文件夹并运行以下命令:
我们还可以指定Maven的版本:
mvn -N io.takari:maven:wrapper -Dmaven=3.5.2
选项-N表示-非递归,这样包装器将只应用于当前目录的主项目,而不是任何子模块。
来源1(进一步阅读): https://www.baeldung.com/maven-wrapper
简短的回答:在终端中运行Maven和Gradle,无需手动安装。
它的例子:
./gradlew clean build ./gradlew bootRun
Maven的例子:
./mvnw clean install ./mvnw spring-boot:run
“建议使用Gradle Wrapper(简而言之就是“Wrapper”)的帮助来执行任何Gradle构建。Wrapper是一个脚本,它调用一个已声明的Gradle版本,如果需要的话,可以预先下载它。因此,开发人员可以快速启动并运行Gradle项目,而不必遵循手动安装过程节省您公司的时间和金钱。"
Gradle还会添加一些与Maven文件Gradlew和Gradle.bat相对应的特定文件
windows操作系统 请使用以下命令:
windows操作系统
请使用以下命令:
mvnw clean install ( for the maven clean and install activity ) mvnw spring-boot:run ( To Run the Spring boot application from command prompt )
例如: