升级Gradle 7.0.0后:app:spotlessJava任务(SpotlessTask类型)配置异常问题求助
解决Gradle 7.0.0下SpotlessTask的输入输出注解缺失问题
这个问题我之前也碰到过,核心原因很明确:Gradle 7.0.0开始强制执行任务的输入/输出注解验证规则,而你当前使用的Spotless插件版本(3.24.2)过于老旧,完全没适配Gradle 7.x的这个新要求,才会触发target属性缺少注解的报错。
核心解决方案:升级Spotless插件版本
Spotless从5.x版本开始就全面适配了Gradle 7.x的任务注解规范,你只需要把插件版本升级到兼容的稳定版就行。推荐直接用最新的稳定版(截止当前是6.25.0),修改根目录build.gradle中的依赖配置:
dependencies { classpath 'com.android.tools.build:gradle:7.0.0' classpath 'com.google.gms:google-services:4.3.8' // 替换为兼容Gradle 7.x的Spotless版本 classpath "com.diffplug.spotless:spotless-plugin-gradle:6.25.0" classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' }
可选优化:规范target配置(非强制,但更贴合Gradle 7规范)
虽然新版本插件已经自动处理了注解问题,你也可以把target '**/*.java'改成更符合Gradle规范的写法,增强配置的可读性和兼容性:
spotless { java { // 用fileTree明确声明目标文件范围 target fileTree(dir: '.', include: '**/*.java') googleJavaFormat('1.6').aosp() removeUnusedImports() } }
验证修改
保存配置后,执行./gradlew spotlessApply或者同步项目,之前的SpotlessTask配置错误就会完全消失了。
内容的提问来源于stack exchange,提问作者Paruyr
相关产品推荐
相关产品推荐

