Приношу свои извинения за вопрос noob: я пытаюсь проверить, как сериализация работает в 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'
Что я здесь делаешь неправильно? (Также нужно ли Gradle использовать сериализацию в IntelliJ / Kotlin 1.3.71?)