我有以下的现有结构
repo
|--orchestration
|--build.gradle
|--settings.gradle
|--gradle
| |--7.5.1
|--engine
| |--build.gradle
| |--gradle
| | |--6.7.1
|--process
| |--build.gradle
| |--gradle
| | |--6.1.1
| | |--7.4此外,
orchestration % which gradle
/opt/homebrew/bin/gradle
orchestration % gradle --version
------------------------------------------------------------
Gradle 7.5.1
------------------------------------------------------------
orchestration % ./gradlew --version
------------------------------------------------------------
Gradle 7.5.1
------------------------------------------------------------
cd engine
engine % ./gradlew --version
------------------------------------------------------------
Gradle 6.7.1
------------------------------------------------------------
cd ../process
process % ./gradlew --version
------------------------------------------------------------
Gradle 6.1.1
------------------------------------------------------------现在,问题
process % gradle wrapper --gradle-version 7.5.1
FAILURE: Build failed with an exception.
* What went wrong:
Task 'wrapper' not found in project ':process'.
cd ../engine
engine % gradle wrapper --gradle-version 7.5.1
FAILURE: Build failed with an exception.
* What went wrong:
Task 'wrapper' not found in project ':engine'.怎么一回事?
发布于 2022-10-04 20:00:27
关于错误报告,基本错误是报告的第二个错误,该项目'engine‘没有定义任务’包装‘。你必须斜视,忽略(真正多余的)第一个错误,它没有说任何建设性的东西。
进一步阅读文档使我意识到“包装器”是特殊的(请参阅后面的答案),并记录了恢复它的方法。
但是,错误报告有点唐突和晦涩。如果Gradle有一个选项,通过列出它寻找任务定义的所有位置来扩展对任务未发现错误的解释,这将是很好的,而且,对于缺少“包装器”任务的特殊情况,有文档记录的2行修复程序可以在丢失时恢复它。如果有一种方法来阻止“生成被异常终止”(如果先前的、更具体的错误已经被记录),那也很好。
发布于 2022-10-05 03:20:20
让我“修改和扩展”我以前的答案..。我无法解释为什么升级会破坏包装器任务,但是Gradle包装文档解释了如何从头重新创建它:
$ gradle wrapper
> Task :wrapper
BUILD SUCCESSFUL in 0s
1 actionable task: 1 executedhttps://stackoverflow.com/questions/73950144
复制相似问题