我正在Kotlin kotlin-allopen
下测试新的kotlin-spring
和1.0.6
插件。
在我的一个@Transactional
- 带注释的类中,我有一个字段:
@JvmField val foo = null
当我尝试构建项目时,我得到:
Error:(45, 5) Kotlin: JvmField can only be applied to final property
有没有正确的方法来解决这个问题?由于JUnit的@JvmField
,我的真实代码需要@Rule
。管理"解决"通过删除@JvmField
并注释getter来解决问题。不确定是否有错误或功能。
答案 0 :(得分:7)
我得到了官方解决方案。
在这种情况下,val
提供的终结是不够的。事实证明,您需要在那里明确添加final
关键字,这不被视为错误。
@JvmField final val foo = null