【问题标题】:Does Dagger2 annotation processor supports the Eclipse incremental compiler?Dagger2 注解处理器是否支持 Eclipse 增量编译器?
【发布时间】:2016-12-16 06:16:07
【问题描述】:

Dagger2 注解处理器是否支持 Eclipse 增量编译器? 我使用示例应用程序设置了 Dagger2,并且在完全编译之后(清理项目之后)一切正常,但是在进行小的更改(模块或组件)并且仅运行增量编译器之后,没有任何更新(并且错误显示在 Eclipse 日志中) . 这是正常的吗?如果不是,我该如何解决这个问题,因为完整的编译器运行很昂贵。

谢谢

【问题讨论】:

    标签: dependency-injection dagger-2 dagger


    【解决方案1】:

    是和不是。

    Dagger 被编写为仅使用作为 JDK 一部分提供的标准注释处理 API。它的实现中没有特定于编译器的内容。所以,理论上,Dagger 应该可以在 any 编译器下工作。

    不幸的是,在尝试使用 Eclipse 的 API 实现来运行 Dagger 时,我们遇到了大量的错误。任何基于 ECJ(Eclipse 的增量编译、Android 的 Jack toolchain 等)的东西都会以意想不到的方式崩溃。

    虽然像 AutoValue 这样的项目以有限的方式进行注释处理,以便在 workarounds 中构建所需的功能,但对于 Dagger 来说,这将是一项更大的任务。

    因此,如果/当 Eclipse 能够可靠地支持注释处理时,Dagger 应该可以工作。

    【讨论】:

    • 感谢您的澄清!
    • 看起来给定的解决方法已在最新的 Eclipse 版本中得到修复......我可以给调试器一个机会:-)
    猜你喜欢
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 2011-09-04
    相关资源
    最近更新 更多