Kotlin-allopen插件+ @JvmField上的一个val还不够

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

在我的一个@Transactional -annated类中,我有一个字段:

 @JvmField val foo = null 

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

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

有没有适当的方式来处理这个? 由于JUnit的@Rule我的实际代码需要@Rule 。 通过删除@JvmField并注释一个getter来管理“解决”问题。 不知道如果一个错误或功能。

我得到了官方的解决方案。

在这种情况下,由val提供的终结是不够的。 事实证明,你需要显式地添加final关键字,这不被视为一个错误。

 @JvmField final val foo = null