【问题标题】:JavaPoet + Android Studio "addModifiers(Modifier) cannot be applied to Modifier"JavaPoet + Android Studio “addModifiers(Modifier) 不能应用于修饰符”
【发布时间】:2019-11-27 11:21:12
【问题描述】:

我为我的 Android 项目构建了一个注释处理器,它使用 JavaPoet 构建一个源文件。但是,每次我需要在任何 JavaPoet 对象上调用 addModifiers 时,Android Studio 都会将其标记为错误。它会说

Cannot resolve method addModifiers(javax.lang.model.element.Modifier)

addModifiers(javax.lang.model.element.Modifier) cannot be applied to javax.lang.model.element.Modifier

取决于我在哪个对象上调用该方法。我已经检查了很多次,这两个完全限定的类名完全匹配。 JavaPoet 中的这些方法使用 VarArgs 参数,但由于我正在编译为 Java 7,所以这不会有什么不同。

现在最重要的是:包编译得很好,并创建了我的源文件。它只会给我 IDE 中的错误,而不是在 javac 运行时。生成的文件中的修饰符是正确的。

所以我想我想回答的是:如何消除 IDE 错误,我应该向谁报告?这是 JavaPoet 问题、Android Studio 问题还是 IntelliJ 问题,还是我还没有考虑过的问题?

【问题讨论】:

  • 我也遇到了同样的问题,你找到解决办法了吗?
  • 看我的回答能行

标签: java android intellij-idea javapoet


【解决方案1】:

this question is like to this one How to get a reference to Modifier.PUBLIC that can not be applied in builder in MethodSpec's methodBuilder for JavaPoet

您只需将此代码添加到您的 build.grade

implementation 'org.checkerframework:checker:2.1.10'

那个错误会消失。错误是那个andorid studio的错误,

此错误与以下相同

您可以参考以下内容

第一:https://github.com/square/javapoet/issues/632

添加这个错误消失了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-17
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多