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

时间:2017-11-11 17:04:26

标签: java spring git maven spring-boot

使用start.spring.io创建spring-boot项目时,会包含一些maven包装器文件:

  • mvnw
  • mvnw.bat

在提交git repo时是否应该忽略文件?

2 个答案:

答案 0 :(得分:17)

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

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

  • 任何给定的mnvw文件都可以用于多个不相关的项目
  • mnvw文件几乎肯定不会与项目的一个版本不同。

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

但是,在您的回购中包含mvnw脚本确实具有以下好处:

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

在此基础上,您可以将提交 mvnw提交给您的代码存储库。

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

  • 在自述文件中加入一些内容,清楚表明(a)Maven是先决条件,(b)需要哪个版本的Maven。

......或:

  • 包含mvnw脚本。

答案 1 :(得分:2)

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