【问题标题】:Do I really need to use kapt when there is no kotlin code?没有 kotlin 代码时,我真的需要使用 kapt 吗?
【发布时间】:2018-05-24 21:14:11
【问题描述】:

这个问题的原因是下一个问题:我一直在使用这个library 使Java 中的类可打包,我决定将所有模型迁移到kotlin 类。

阅读一些文档后,我意识到我需要使用KAPT 而不是“annotationProcessor”。

问题:问题是后来当我尝试运行应用程序时,我开始遇到使用“annotationProcessor”的 Dagger 2 和 Butterknife 的问题,因为它们处理的是 JAVA 类,而不是 Kotlin 类。为了让事情重新开始,我必须在我的 gradle 文件中为每个“annotationProcessor”添加一个新行,但改用“kapt”。

所以我的问题是:如果使用这些框架所涉及的代码是纯 Java 类,我真的需要这样做吗?如果我需要这样做,你能解释一下原因吗?

感谢您抽出宝贵时间阅读本文!

【问题讨论】:

    标签: java android kotlin kapt annotation-processor


    【解决方案1】:

    是的,你需要这样做。

    一旦您将 Kapt 添加到项目中,它就会完全接管注解处理,因此 Java 编译任务不会运行任何注解处理器。为了使 Kotlin 和 Java 中的注释生成的代码可用于在 javac 之前运行的 Kotlin 编译器,这是必要的。

    由于 Kapt 处理 Kotlin 和 Java 文件中的注解,因此在 Java 中使用它进行注解是 Kotlin + Java 项目的推荐方式。

    【讨论】:

    • 您好,感谢您的回复。那么就不用再使用“annotationProcessor”了吧?
    • 你是对的,annotationProcessor 没有被 Kapt 使用,所以你可以去掉这个配置的依赖。
    猜你喜欢
    • 2013-06-04
    • 1970-01-01
    • 2011-03-30
    • 2011-10-24
    • 2012-05-17
    • 1970-01-01
    • 2020-07-15
    相关资源
    最近更新 更多