我已经使用 JavaPoet 库编写了一个注释处理器,并将其作为 Java 库模块包含在我的项目中。它编译并且工作正常。问题是 - Android Studio 内联编译器向我显示了不应该存在的错误。
- 由于某种原因,它无法识别参数中的省略号
- 和上面一样。
- 它表明没有将 Filer 类型作为参数的 writeTo 方法,尽管当您选择 Go To > Declaration 选项时显然有一个。正如我所提到的 - 它编译得很好。
我已经尝试过:
- 清洁和重建项目- 没有工作
- 多次同步 gradle -没用
- 刷新 gradle 项目-没用
- 使用 File > Invalidate Cache/Restart 选项- 不起作用
- 删除 .gradle 和 .idea 文件夹并再次同步- 无效
- 从项目和磁盘中删除我的 Java 库模块并使用相同的类重新创建它- 也不起作用
总是相同的三个错误,所以我在这里很茫然。不得不提的是,当我将 JavaPoet 版本从 1.12.1 降级到 1.9.0 时,就会出现这个问题(Java 7 的兼容性对我的应用程序版本至关重要,因此更高的 Java 8 版本是不可能的)。
我的毕业文件:
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
annotationProcessor 'com.google.auto.service:auto-service:1.0-rc2'
implementation 'com.google.auto.service:auto-service:1.0-rc2'
implementation 'android.arch.persistence.room:runtime:1.1.1'
implementation 'com.squareup:javapoet:1.9.0'
}
sourceCompatibility = 1.7
targetCompatibility = 1.7
这不会破坏交易,但会让人分心和烦人。您是否知道这种行为的原因可能是什么?