11

我为我的 Android 项目构建了一个注释处理器,它使用 JavaPoet 构建源文件。但是,每次我需要调用addModifiers任何 JavaPoet 对象时,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 问题,还是我还没有考虑过的问题?

4

1 回答 1

0

这个问题就像 To this one How to get a reference to Modifier.PUBLIC that can not be applied in MethodSpec's methodBuilder for JavaPoet

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

implementation 'org.checkerframework:checker:2.1.10'

该错误将消失。错误是andorid studio错误,

此错误与以下错误相同

你可以参考下面

首先:https ://github.com/square/javapoet/issues/632

添加这个错误消失了

于 2019-11-27T03:21:12.443 回答