Intereting Posts
Переопределение активателя имущества Котлина приводит к двум JPA @Id Производит ли вызов Kotlin метод вызова метода Как передать список в качестве параметризованного параметра тестирования JUnit5? Kotlin: Невозможно применить сразу два условных выражения с помощью стиля функции «возврат тела» Создание кеша ehcache в Котлине Астероиды Игра AI – Усиление обучения Входы Переменный список Obersable <Object> ждет, пока все они закончат, и объедините их в List <Object> PendingIntent.getBroadcast () всегда возвращает null с FLAG_UPDATE_CURRENT Mapbox OfflineRegionObserver прослушиватель unregister Как избежать выражения объекта для функций, возвращающих интерфейс SAM Котлин: Что такое kotlin.String! тип Проблема с типом номера телефона в Android динамический dsl с использованием kotlin с поддержкой контента Kotlin .let {} null безопасность предположительно ложная ошибка Firebase SDK в Kotlin – onChildChanged не стреляет в первого ребенка в списке

Всплывающий плагин компилятора Kotlin не работает

Я использую Realm, и для его классов модели требуется open ключевое слово.

Следуя https://blog.jetbrains.com/kotlin/2016/12/kotlin-1-0-6-is-here/ , я попытался использовать всплывающий плагин компилятора, чтобы удалить ключевое слово open из классов модели Realm.

Во-первых, я добавил всплывающий плагин компилятора и установил имя пакета аннотации

 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 ошибки error: cannot inherit from final Model .

Есть ли что-то, что я сделал не так?

Solutions Collecting From Web of "Всплывающий плагин компилятора Kotlin не работает"

Вам нужно добавить имя аннотации к пути в вашем файле конфигурации:

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