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

时间:2017-01-04 06:58:48

标签: kotlin kotlin-allopen

我正在Kotlin kotlin-allopen下测试新的kotlin-spring1.0.6插件。

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

@JvmField val foo = null

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

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

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

1 个答案:

答案 0 :(得分:7)

我得到了官方解决方案。

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

@JvmField final val foo = null