【发布时间】:2019-02-18 16:55:43
【问题描述】:
我正在尝试 Kotlin 序列化。按照说明进行设置后,我收到Unresolved reference: serializer 生成错误代码:
val serializer : KSerializer<User> = User.serializer()
我推测编译器插件不知何故没有启动,但看不到我在设置中错过了什么。
这是我的build.gradle.kts:
buildscript {
val kotlinVer: String by extra("1.3.20")
repositories { jcenter() }
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVer")
classpath("org.jetbrains.kotlin:kotlin-serialization:$kotlinVer")
}
}
plugins {
id("org.jetbrains.kotlin.jvm").version("1.3.20")
application
"kotlin"
"kotlinx-serialization"
}
repositories {
jcenter()
maven("https://kotlin.bintray.com/kotlinx")
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
compile("org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.10.0")
testImplementation("org.jetbrains.kotlin:kotlin-test")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
}
application {
mainClassName = "com.digizen.AppKt"
}
【问题讨论】:
-
1.这是唯一的错误吗?也许在
serializer()之前发生了一些事情,其余的会生成。 2. 以防万一,请仔细检查User是否被注释为@Serializable。 -
@AlexeyRomanov 1. 是的,这是唯一的错误,无论我是从命令行还是在 IntelliJ 中构建。 2. 是的,
User被注释为@Serializable。
标签: serialization kotlin