【发布时间】:2016-06-01 17:39:25
【问题描述】:
使用 Kotlin 1.0.0 版本(在 IntelliJ 15 中编译)。
println(myPojoInstance.foo)
当它尝试编译引用基于 Lombok 的 POJO 的代码(在 IntelliJ 或 Gradle 中)时,它会给出错误“无法访问 'foo':它在“MyPojo”中是 'private'。这是真的,它们都是私有的并且我的对象具有用于 lombok 注释的 @Value @Builder。
我已经尝试专门调用 getFoo(),但它显示“未解析的 getFoo 引用”。也许有一些技巧可以让 Kotlin 知道如何处理 lombok 注释?
【问题讨论】:
-
你用过
kapt吗? blog.jetbrains.com/kotlin/2015/06/… -
正如@voddan 指出的那样,您没有提供足够的信息来说明您尝试使用什么来解决此问题。另外,如果您尝试过 Kapt,它是在一个模块中还是在多个模块中。
-
在提到“kapt”之前,我不知道有什么办法可以尝试解决它。我反复阅读 JetBrains 页面“java-interop”,但找不到任何暗示如何处理它的信息。 IntelliJ 不会在编辑器中将其标记为错误,但是在 IntelliJ 和 Gradle 中编译(通过 JetBrains kotlin gradle 插件)都不起作用。
-
您是否设法解决了
kapt的问题?我很想知道。