我想在项目文件夹中包含特定版本的Gradle,这样当我使用Gradle包装器时,它不会从远程存储库下载它。
我下载了我需要的Gradle版本(gradle-4.0-bin.zip
),我将该zip放在项目的gradle/wrapper/
文件夹中(使用gradle wrapper
命令创建)。
然后我以这种方式编辑了gradle-wrapper.properties
文件:
distributionUrl=file:///Users/pathj/to/the/project/gradle/wrapper/gradle-4.0-bin.zip
但是当我运行第一个命令时,例如gradle task
,它会返回:
- 出了什么问题:配置根项目' 03-gradle-wrapper-local'时出现问题。
java.io.FileNotFoundException:/Users/myself/.gradle/wrapper/dists/gradle-4.0-bin/3p92xsbhik5vmig8i90n16yxc/gradle-4.0/lib/plugins/gradle-diagnostics-4.0.jar (没有这样的文件或目录)
如何告诉Gradle从当前项目文件夹获取zip文件,使用相对路径而不是下载它,并使用该zip文件创建要在我的构建中使用的包装器?
答案 0 :(得分:1)
除了存储gradle包装器本地有意义之外,它是可能的。我假设使用gradle-4.0-rc-3-bin
发行版。
这是项目结构:
.
├── gradle
│ └── wrapper
│ ├── gradle-4.0-rc-3-bin.zip
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
└── gradlew.bat
这里是gradle-wrapper.properties
的内容:
distributionBase=PROJECT
distributionPath=gradle
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=gradle-4.0-rc-3-bin.zip
由于包装文件将下载到项目目录,建议将gradle/gradle-4.0-rc-3-bin
添加到SCM忽略文件。
可以找到演示here。