У меня есть мультиплатформенный проект с модальным классом, пользователь.
User.kt
class User {
val id = -1
val username = ""
val age = -1
val nickname = ""
}
Я также ожидал и фактические аннотации
Annotation.kt [Common Module]
expect annotation class NodeEntity
expect annotation class Id
expect annotation class GeneratedValue
Более того, у меня есть их фактическая реализация
Annotation.kt [Модуль JVM]
actual typealias ValueFor = org.neo4j.ogm.annotation.ValueFor
actual typealias NodeEntity = org.neo4j.ogm.annotation.NodeEntity
actual typealias Id = org.neo4j.ogm.annotation.Id
actual typealias GeneratedValue = org.neo4j.ogm.annotation.GeneratedValue
actual typealias Relationship = org.neo4j.ogm.annotation.Relationship
Затем я вернулся и прокомментировал свой User.kt
@NodeEntity
class User {
@Id
@GeneratedValue
val id = -1
val username = ""
val age = -1
val nickname = ""
}
Но когда я его скомпилирую, я получаю эту ошибку
Task :compileKotlinJvm FAILED
e: ...User.kt: (13, 2): This class does not have a constructor
e: ...User.kt: (21, 6): This class does not have a constructor
e: ...User.kt: (22, 6): This class does not have a constructor
Что я делаю не так?
N: B. Сделано попыток
- Сделано, чтобы у ожидаемых аннотаций был конструктор [безуспешно]
- Сделано, чтобы ожидаемые аннотации совпадали с конструктором [ОШИБКА: параметр '' {0} '' имеет конфликтующие значения в ожидаемой и фактической аннотации]
К вашему сведению: в моем build.gradle уже есть noArg, поэтому класс User.kt скомпилирован с открытым конструктором без аргументов