一个项目使用gradlewrapper4.6,我不得不将它更新到5.0,因为我的电脑上安装了java11。
当gradlew4.6与java8一起使用时,构建是可以的。
升级到5.0并使用java 11(gradle wrapper 5.0和已安装的gradle 6.5)运行后,不断抛出以下错误:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\MyProject\build.gradle' line: 52
* What went wrong:
A problem occurred evaluating root project 'my_project'.
> Failed to apply plugin [id 'org.gradle.java']
> Could not create task ':api:compileJava'.
> class org.gradle.api.internal.tasks.DefaultTaskInputPropertyRegistration cannot be cast to class org.gradle.api.tasks.TaskInputs (org.gradle.api.internal.tasks.DefaultTaskInputPropertyRegistration and org.gradle.api.tasks.TaskInputs are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @26653222)
build.gradle中生成错误的行是
configure(subprojects - [project(':event')]) { subProject ->
apply plugin: 'java' // <= this line 52
apply plugin: ...
...
}
它是一个多项目的gradle项目,build.gradle是它的根
不管我运行哪个gradle命令或任务,我都会得到相同的错误。
更新
适用于gradle高达4.10。5.0开始失败。
https://docs.gradle.org/5.0/userguide/upgrading_version_4.html 说
java库分发插件现在基于java库插件而不是java插件。当它应用java插件时,它的行为略有不同(例如,它添加了>api配置)。因此,请确保在升级后检查您的构建是否按预期运行。
我还是不知道这是什么意思,也不知道该怎么办
更新2(laksitha ranasingha评论)
在gradle 5.0中尝试过,build.gradle重写插件定义:
configure(subprojects - [project(':event')]) { subProject ->
plugins { // <= line 52
id 'java'
...
}
...
}
导致以下错误:
失败:生成失败,出现异常。
其中:生成文件“c:\myprojects\build.gradle”行:52
出了什么问题:评估根项目“myproject”时出现问题。
找不到参数的方法plugins()[build_1pjmxtxk8zv5w7chejrs1s08b$_run_closure2$_closure7@73b72d7e]在项目上:org.gradle.api.project类型的“api”。
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。运行--扫描以获得完整的见解。
获取更多帮助https://help.gradle.org
此版本中使用了不推荐的gradle功能,使其与gradle 6.0不兼容。使用“--warning mode all”来显示各个弃用警告。看到了吗https://docs.gradle.org/5.0/userguide/command_line_interface.html#sec:命令行警告
在0s中配置失败
暂无答案!
目前还没有任何答案,快来回答吧!