您的gradle包装程序丢失、损坏或被破坏。
--
什么是gradle wrapper:
gradlew
是 gradle 包装程序可执行文件 - 在 Windows 上是批处理脚本,在其他地方是 shell 脚本。当调用包装程序脚本时,会下载定义的 gradle 版本并执行它。通过将包装程序与您的项目一起分发,任何人都可以在不需要事先安装 Gradle 的情况下使用它。更好的是,构建的用户保证使用构建设计要使用的 Gradle 版本。
--
恢复 gradle wrapper:
以前您需要在 build.gradle
中添加一个 wrapper
任务来恢复 gradle 包装程序及其所有依赖项。例如在 build.gradle
中:
task wrapper(type: Wrapper) {
gradleVersion = '4.1'
}
或在 build.gradle.kts
文件中:
tasks.register<Wrapper>("wrapper") {
gradleVersion = "4.1"
}
较新版本的Gradle不需要这样做。现在它是一个内置任务。只需运行:
gradle wrapper
您还可以提供其他标志以指定版本等
gradle wrapper --gradle-version 6.2 --distribution-type all
当你运行此任务时,gradle包装脚本和所需的jar文件将被添加到您的源文件夹中。属性存储在gradle/wrapper/gradle-wrapper.properties中。
(您可能需要在本地安装gradle才能运行此操作。例如,在mac上使用
brew install gradle
命令安装。有关更详细的说明,请参见
此处)
--
首先,为什么它会缺失呢?
OP似乎删除了gradle包装程序所依赖的某些内容。
但常见的原因是.gitignore条目防止包装器jar被检入git。请注意,有效的.gitignore可以在源文件夹中,也可以在您的用户主文件夹或git全局配置中的全局文件夹中。通常在.gitignore中会有一个
*.jar
条目。
您可以在.gitignore中添加gradlew的jar文件的例外。
*.jar
!gradle/wrapper/gradle-wrapper.jar
或者强制将包装器jar添加到git中
git add -f gradle/wrapper/gradle-wrapper.jar
--
参考文献:
Gradle Wrapper
gradle wrapper
来重新生成缺失的代码。 - cjstehno