Java 为什么每个人都说,如果gradlew的版本显式地基于build.gradle,那么我应该在我的源代码管理中包括它?

Java 为什么每个人都说,如果gradlew的版本显式地基于build.gradle,那么我应该在我的源代码管理中包括它?,java,gradle,build.gradle,gitignore,gradlew,Java,Gradle,Build.gradle,Gitignore,Gradlew,根据我看过的其他地方和论坛,我应该总是在git/svn/cvs中包含gradle包装文件 但是,为什么?在我的build.gradle文件中,我已经明确地包含了我希望我的项目使用的gradle版本。例如: task wrapper(type: Wrapper) { gradleVersion = "2.12" } 我已经做过测试,并且总是在导入/构建项目时不从源代码管理中提取gradle包装文件,它使用build.gradle的版本为我创建了gradlew文件。包括包装器,让没有安装g

根据我看过的其他地方和论坛,我应该总是在git/svn/cvs中包含gradle包装文件

但是,为什么?在我的build.gradle文件中,我已经明确地包含了我希望我的项目使用的gradle版本。例如:

task wrapper(type: Wrapper) {
    gradleVersion = "2.12"
}

我已经做过测试,并且总是在导入/构建项目时不从源代码管理中提取gradle包装文件,它使用build.gradle的版本为我创建了gradlew文件。

包括包装器,让没有安装gradle的人无需手动下载或安装任何内容即可构建您的项目。这对将要在命令行上构建的人员非常有用

运行
/gradlew installDist
通常比必须安装gradle才能引导正确的版本更容易

您需要包括以下文件:

gradlew
gradlew.bat (if you support windows)
gradle
└── wrapper
    ├── gradle-wrapper.jar
    └── gradle-wrapper.properties

然后忽略
.gradle/

,但您不能只执行
/gradlew wrapper
让它下载属性文件指定的包装吗?
gradlew
是包装,如果您没有,您就没有任何要运行的东西。还是我误解了这个问题?我在上面评论过。。。我阅读这个问题的方式是询问是否应该包含二进制文件,我认为这不是
/gradlew
只是一个脚本文件,它执行包装器。这不是包装本身啊,对不起,我一直认为它是包装本身,但你是对的。我已经扩展了我的帖子,包含了jar和您想要包含的属性文件。链接的帖子询问的是属性文件本身,而不是包装器二进制文件。您应该排除二进制文件,因为它们很大,可以在客户端计算机上下载。您不排除属性文件,因为它说明要使用哪个包装器。提到gradle包装器文件,我指的是gradle文件夹(gradle/wrapper/*)和gradlew文件。它们需要共存才能正常工作(我想是的)。顺便说一句,这个网站很有用。包装器任务仅用于创建包装器文件(bash/bat脚本、wrapper.properties和wrapper jar)。在accient gradle版本中,必须将该任务显式写入build.gradle文件。对于当前的gradle版本,您只需从命令行和(可选)触发包装器任务将所需的gradle版本作为参数传递:
gradle包装器--gradle版本2.12