Execution failed for task ‘:dw-pro-core:kaptGenerateStubsKotlin‘

记录编译报错的解决经历

  1. 本项目依赖版本由父项目指定,在一次父项目更新代码后,本项目刷新依赖报错提示:

> Task :xxx-core:kaptGenerateStubsKotlin
e: Could not load module <Error module>

> Task  xxx-core:kaptGenerateStubsKotlin FAILED
62 actionable tasks: 18 executed, 44 up-to-date


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':xxx-core:kaptGenerateStubsKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
   > Compilation error. See log for more details

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s
16:47:38: Execution finished ':xxx-app:classes'.
  1. 查找报错信息
  • 尝试加上 Run with --stacktrace 或者其他参数运行,仍然无法定位报错代码或者某个依赖问题。
  • 网上搜索无对于解决方案
  • idea代码没有红线提示
  1. 定位问题

回忆报错时间,拉取父项目,查找时间点附近变动的依赖版本号代码,从正常代码逐级修改版本号,至报错为止。
这个过程比较耗时,不过最终定位了使用某个升级版本的依赖,会使项目出现编译错误
但是从maven仓库可以查询到此依赖,排除依赖源问题,
遂查询本地使用该依赖的代码,当点击类后,发现旧 import 引入依赖类的路径已经不能使用,这时IDEA才出现提示,同时包结构逐级出现红线。
最后,按升级后的依赖配置,修改本项目对应代码。编译成功!

总结
本项目为:Gradle + Kotlin ,当某个依赖版本升级后,出现kaptGenerateStubsKotlin错误,但是IDEA没有给出变红提示,可能是由于旧的依赖还处于IDEA缓存中(个人理解),所以过时的import导入类代码不能被提示出来,但是当你点进类,IDEA才识别并报错。

所以当编译出错,没有明确提示时,先找到版本发生变化的依赖,再定位项目中使用了这些依赖的代码,看看那些代码是否已经报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值