Gradle会创建一个名为.gradle
的文件夹。我应该使用我的版本控制(即git)跟踪它吗?
更重要的是,为什么/为什么不呢?
答案 0 :(得分:101)
我应该跟踪.gradle目录吗?
没有。它可以安全地被忽略。
我为什么要忽略它?
这纯粹是为了缓存信息,你不希望它在你的回购中,因为:
它基本上是Gradle在源代码中间放置的临时目录(为什么Gradle认为这是一个合适的事情是另一个问题)。
您可以通过开关的名称来告诉目录的“缓存目录”性质,它可以让您更改它的位置:“--project-cache-dir”。
虽然我讨厌在我的源代码树中使用二进制文件,但我通常只是将目录添加到我的忽略文件中,因为在某个地方,我会忘记使用某些命令行或我的IDE或其他东西的切换。然后最终不得不处理该目录。
如何忽略它?
Git用户可以在.gitgnore文件中添加仅.gradle
的行,Git将忽略具有该名称的任何目录中的所有文件。
Mercurial用户想要查找.hgignore文件。
对于其他版本控制系统,请参阅文档 - 它们都具有支持此功能的功能。
答案 1 :(得分:12)
.gradle文件夹包含有关您的gradle构建的不同计算信息(例如缓存的输出/输入信息)。您绝对不应该将该文件夹检入您的版本控制系统。
答案 2 :(得分:3)
您无需保留.gradle文件夹。
因为再次执行gradle build命令后,您可以再次创建几乎相同的.gradle文件夹。
但是当您使用.gradle下的gradle.setting文件时,您可能需要将其移动到项目的根文件夹中。
答案 3 :(得分:0)
当我们启动gradle时,它会在您的主目录中创建.gradle文件夹。它由本机(有关您的系统的信息)和缓存组成。缓存还包括插件和所有其他jar依赖项。
当我们第一次构建项目时,它会下载依赖项和插件并在此处填写它们。下次当我们需要它时,它就从这里开始。即使我们在eclipse中需要它们来编译代码(=> gradle eclipse),它的依赖关系也会从缓存中添加
因为它会在您运行gradle时不断更新和添加。所以我想我们不会将它添加到版本控制中。
答案 4 :(得分:0)
我是Gradle的新手,并认为.gradle文件夹将包含通用信息,例如依赖关系映射等,并将其上传到版本控制中。然后我尝试使用版本控制中的代码(包括.gradle文件夹)设置具有不同操作系统风格和Java版本的新机器并遇到错误。原来,.gradle文件夹包含机器特定信息,用于在本地缓存。 不要在版本控制中包含.gradle文件夹,并尝试使用代码设置新机器,gradle守护程序将完成剩下的工作。