Kotlin-allopen插件+ @JvmField在val上不够最终

Grz*_*rek 5 kotlin kotlin-allopen

我在Kotlin下测试一个新的kotlin-allopenkotlin-spring插件1.0.6.

在我的一个@Transactional注释类中,我有一个字段:

@JvmField val foo = null
Run Code Online (Sandbox Code Playgroud)

当我尝试构建项目时,我得到:

Error:(45, 5) Kotlin: JvmField can only be applied to final property

有没有正确的方法来解决这个问题?@JvmField由于JUnit的原因,我需要现实代码@Rule.通过删除@JvmField和注释getter来管理"解决"问题.不确定是否有错误或功能.

Grz*_*rek 8

我得到了正式的解决方案.

在这种情况下,提供的最终结果val是不够的.事实证明,您需要在final那里明确添加关键字,这不被视为错误.

@JvmField final val foo = null
Run Code Online (Sandbox Code Playgroud)