非常抱歉问个新手问题:我正在尝试了解 Kotlin 中序列化的工作原理。
为此,我创建了一个类似这样的 Gradle 项目:
然后编辑生成的 build.gradle.kts
文件,只添加了一行代码。
plugins {
java
kotlin("jvm") version "1.3.71"
id("org.jetbrains.kotlin.plugin.serialization") version "1.3.71"
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
testCompile("junit", "junit", "4.12")
}
configure<JavaPluginConvention> {
sourceCompatibility = JavaVersion.VERSION_1_8
}
tasks {
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
}
并创建了此 Kotlin 源文件:
import kotlinx.serialization.*
import kotlinx.serialization.json.*
@Serializable
data class Data(val a: Int, val b: String = "42")
但是当我构建这个项目时,我遇到了这个错误:
Unresolved reference: kotlinx
如果我删除前两行有问题的代码,将会出现以下错误:
Cannot access 'Serializable': it is internal in 'kotlin.io'
我在这里做错了什么?(同时,在IntelliJ/Kotlin 1.3.71中使用序列化需要Gradle吗?)