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

是否应将mvnw文件添加到存储库中?

江建明
2023-03-14

使用start创建spring boot项目时。Springio中,包含一些maven包装文件:

  • mvnw

提交到git repo时是否应该忽略这些文件?

共有2个答案

苗康平
2023-03-14

这取决于您是否想使用Maven包装器。如果没有,则可以删除这些文件。如果要使用它,则必须提交存储库中的文件,否则使用它就没有意义。

慕光赫
2023-03-14

mvnw脚本允许您运行Maven命令,而无需在路径上安装和显示Maven。它通过在您的路径上查找Maven来实现,如果找不到,它会在默认位置(您的用户主目录IIRC)下载并安装Maven。

它们很方便,但不一定是项目的一部分,与项目代码和配置的方式不同。换句话说:

  • 任何给定的mnvw文件都可以用于多个不相关的项目
  • 几乎可以肯定的是,mnvw文件在不同版本的项目中不会有所不同

在此基础上,您可以提出不将mvnw提交到代码存储库的理由。

然而,在回购中包含mvnw脚本确实有以下好处:

  • 允许克隆/签出您的repo的任何人构建您的项目,而无需先安装Maven
  • 确保使用中的Maven版本是与项目兼容的版本

在此基础上,您可以提出将mvnw提交到代码库的理由。

因此,双方都有利弊。只需选择最适合那些将使用您的回购协议的人的需求的一面。要么:

  • 在自述文件中包含一些内容,明确说明(a)Maven是先决条件,(b)需要哪一版本的Maven

。。。或:

  • 包括一个mvnw脚本。
 类似资料:
  • 问题内容: 要锁定项目上安装的依赖项的版本,该命令将创建一个名为的文件。这是从Node.js v8.0.0和npm v5.0.0开始的 ,您可能已经知道了。 尽管有Node.js和npm关于提交此文件的建议,但是关于何时应避免这样做的一些担忧也是一个选择。通常,我们致力于项目,但这是一个奇特的问题。 虽然我们默认情况下应该提交文件,但是我们有一个特定的情况,我们不应该提交。例如,如果我们要测试项目

  • 问题内容: 我想知道在检查代码时是否应该在回购中跟踪node_modules或进行npm安装? 问题答案: 答案并不像阿尔贝托·扎卡尼(Alberto Zaccagni)所建议的那样容易。如果您开发应用程序(尤其是企业应用程序),则在git repo中包含node_modules是一个可行的选择,您选择哪种选择取决于您的项目。 因为他非常反对node_modules,所以我将集中讨论它们的参数。

  • 我想从maven转到gradle。 在pom中。xml文件我有一个自定义存储库: 它是一个简单的超文本传输协议Web服务器,带有. jar文件。 如何将此自定义回购添加到生成中。格拉德尔? 我尝试了此代码,但不起作用: 我的定制repo不是maven repo,但我在Gradle文档中没有找到可以指定URL的其他示例。

  • http://maven.apache.org/maven-v4_0_0.xsd“> 正如u提到的,我在mvnrepository.com/artifact/org.databene/benerator-maven-plugin/…找到了新的存储库,试图编辑POM,但得到的错误为 [警告]org.databene:benerator-maven-plugin:jar:jar的POM丢失,没有可用的

  • 是否可以将屏幕截图放在GitHub存储库中的自述文件中?语法是什么?

  • 问题内容: 我正在做一个Maven项目。当在一个想法中编译和运行我的项目时,一切都很好,但是每当我创建jar文件时,都无法将web / lib /中的外部jar文件复制到jar文件中。为什么会发生这种情况?我可以将所有文件插入jar文件吗? 问题答案: 是的,我找到了解决方案。