Kotlin-allopen插件+ @JvmField上的一个val还不够
我在Kotlin 1.0.6
下测试一个新的kotlin-allopen
和kotlin-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