当前位置: 首页 > 知识库问答 >
问题:

mvnw和mvnw.cmd文件的目的是什么?

莫英卓
2023-03-14

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

共有3个答案

白禄
2023-03-14

对于需要特定版本Maven的项目(或者根本不想安装Maven的用户),Maven包装器是一个极好的选择。我们可以使用项目特定的包装器脚本,而不是在操作系统中安装它的许多版本。

MVNW:这是一个可执行的Unix外壳脚本,用于代替完全安装的Maven

mvnw.cmd:适用于Windows环境

使用案例

包装器应该适用于不同的操作系统,例如:

  • Linux
  • OSX
  • Windows
  • Solaris

之后,我们可以像这样运行Unix系统的目标:

./mvnw clean install

批处理的命令如下:

./mvnw.cmd clean install

如果包装器属性中没有指定的Maven,它将被下载并安装在系统的文件夹$USER\u HOME/.m2/wrapper/dists中。

Maven包装器插件

Maven包装器插件,在一个简单的Spring启动项目中自动安装。

首先,我们需要进入项目的主文件夹并运行以下命令:

mvn -N io.takari:maven:wrapper

我们还可以指定Maven的版本:

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

选项-N表示–非递归,因此包装器将只应用于当前目录的主项目,而不应用于任何子模块。

资料来源1(进一步阅读):https://www.baeldung.com/maven-wrapper

隆宏爽
2023-03-14

命令mvnw使用Maven,在第一次使用时默认下载到~/.m2/wrapper

在每个项目的.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版本,请调用以下内容(请记住多模块项目的非递归代码):

./mvnw io.takari:maven:wrapper -Dmaven=3.3.9 

或者只是手动修改. mvn/包装器/maven-wrapper.properties

要使用Maven从头开始生成包装器(您需要让它已经在PATHrun中运行:

mvn io.takari:maven:wrapper -Dmaven=3.3.9 

白信鸿
2023-03-14

这些文件来自Maven包装器。它的工作原理类似于Gradle包装器。

这允许您运行Maven项目,而无需在路径上安装和呈现Maven。如果找不到正确的Maven版本,它会下载它(据我所知,默认情况下在您的用户主目录中)。

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

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

mvn -N io.takari:maven:wrapper

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

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

这两个命令都需要maven onPATH(将mavenbin的路径添加到系统变量的PATH)如果项目中已经有mvnw,则可以在命令中使用/mvnw而不是mvn

 类似资料:
  • 本文向大家介绍testng.xml文件的目的是什么?,包括了testng.xml文件的目的是什么?的使用技巧和注意事项,需要的朋友参考一下 testng.xml文件具有多种用途,如下所示- 测试用例按组执行。 执行中可以包括或排除测试方法。 可以触发从多个Java类文件执行多个测试用例。 包含文件夹,类,方法的名称。 能够触发并行执行。 执行中可以包括或排除属于组的测试方法。 示例 TestNG.

  • 问题内容: 我读过一些书,说为诸如和的变量创建setter和getter很好。例如: 但这有什么区别? 和 如果二传手和消气手更好,您能给我解释一下实际问题吗? 问题答案: 多个原因: 如果您允许像 shape.x = 90 那么您将来将无法添加任何逻辑来验证数据。 如果x不能小于100,就不能这样做,但是如果您有像 您不能在写入逻辑上添加诸如复制之类的内容(请参见CopyOnWriteArray

  • 使用start创建spring boot项目时。Springio中,包含一些maven包装文件: mvnw 提交到git repo时是否应该忽略这些文件?

  • “http://localhost:8080/helloworld/index.htm” 这告诉我没有找到资源:“http://localhost:8080/helloworld/logon.jsp” 我还没有定义任何JSP servlet映射。我有默认的web.xml,它只包含欢迎文件。我右键单击项目名称,然后选择Debug On Server,运行应用程序。 更新:我已经取得了一些成功。我向E

  • 如何决定projectkey?我的意思是我们在哪里可以找到我们的<代码>。Net,< code>plsql项目? 注意-我是这些声纳的新手,正在尝试在我的组织中自己设置所有这些。

  • 问题内容: 的用途是什么? 我知道你可以在表上进行传递参数。 我还可以指定时间增量吗? 它是如何工作的?它是“拆包”类吗?喜欢a,b=1,2吗? 问题答案: 你可以用来让函数接受任意数量的关键字参数(表示“关键字参数”): 你还可以在调用函数时使用语法,方法是构造关键字参数字典并将其传递给函数: 在Python指南,包含了如何工作的,有一些很好的例子沿着一个很好的解释。 对于使用Python 3的