执行:composeApp:compileJava任务时Gradle报歧义错误求助
解决Gradle任务
:composeApp:compileJava歧义错误 执行:composeApp:compileJava任务时出现如下错误:
无法找到匹配':composeApp:compileJava'的任务,因为项目':composeApp'中的'task compileJava'存在歧义。候选任务包括:'compileDebugAndroidTestJavaWithJavac'、'compileDebugJavaWithJavac'、'compileDebugUnitTestJavaWithJavac'、'compileReleaseJavaWithJavac'、'compileReleaseUnitTestJavaWithJavac'。
问题原因
Android Compose项目会根据构建变体(Debug/Release)和测试类型拆分编译任务,通用的compileJava任务被替换为带明确后缀的变体任务,导致名称匹配时产生歧义。
解决方法
明确指定具体编译任务
根据需求选择对应任务执行:- 编译Debug环境主代码:
./gradlew :composeApp:compileDebugJavaWithJavac - 编译Release环境主代码:
./gradlew :composeApp:compileReleaseJavaWithJavac - 编译Debug单元测试代码:
./gradlew :composeApp:compileDebugUnitTestJavaWithJavac - 编译Debug Android测试代码:
./gradlew :composeApp:compileDebugAndroidTestJavaWithJavac - 编译Release单元测试代码:
./gradlew :composeApp:compileReleaseUnitTestJavaWithJavac
- 编译Debug环境主代码:
查看所有可用任务
执行命令查看项目完整任务列表,按需筛选:./gradlew tasks利用任务名称缩写简化命令
Gradle支持无歧义的任务名称缩写,比如compileDebugJavaWithJavac可缩写为cDJWJ,执行:./gradlew :composeApp:cDJWJ
关于废弃特性警告
执行以下命令查看具体废弃项,提前适配Gradle 9.0:
./gradlew --warning-mode all
内容的提问来源于stack exchange,提问作者Devendra Singh
相关产品推荐
相关产品推荐

