Kotlin全开放编译器插件不起作用

时间:2017-01-04 10:59:29

标签: 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错误。

我做错了吗?

1 个答案:

答案 0 :(得分:9)

您需要将注释的名称添加到配置文件中的路径:

allOpen {
    annotation("com.mycompany.myapp.annotation.AllOpenAnnotation")
}