Kotlin全开放编译器插件不起作用
我使用Realm,它需要open
关键字模型类。
在https://blog.jetbrains.com/kotlin/2016/12/kotlin-1-0-6-is-here/之后,我尝试使用全开放编译器插件从Realm模型类中删除open
关键字。
首先,我添加了全开放的编译器插件,并设置了注释的包名称
buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version" } } apply plugin: "kotlin-allopen" allOpen { annotation("com.mycompany.myapp.annotation") }
其次,我生成了注释
package com.mycompany.myapp.annotation annotation class AllOpenAnnotation
最后,我添加了对Realm模型类的注解
@AllOpenAnnotation class Model { var id: Int = -1, var title: String = "", var desc: String? = null }: RealmObject()
但是error: cannot inherit from final Model
发生错误。
有什么我做错了吗?
您需要将注释的名称添加到配置文件中的路径中:
allOpen { annotation("com.mycompany.myapp.annotation.AllOpenAnnotation") }