jin*_*ngx 14 serialization kotlin
我正在尝试 Kotlin 序列化。按照说明进行设置后,我收到Unresolved reference: serializer
以下代码的构建错误:
val serializer : KSerializer<User> = User.serializer()
Run Code Online (Sandbox Code Playgroud)
我猜测编译器插件不知何故没有启动,但看不到我在设置中错过的内容。
这是我的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"
}
Run Code Online (Sandbox Code Playgroud)
在 中plugins
,您不能像以前那样只输入字符串,选项是 (for .kts
):
plugins {\n `\xc2\xabplugin id\xc2\xbb` // (1)\n id(\xc2\xabplugin id\xc2\xbb) // (2)\n id(\xc2\xabplugin id\xc2\xbb) version \xc2\xabplugin version\xc2\xbb [apply \xc2\xabfalse\xc2\xbb] // (3)\n} \n
Run Code Online (Sandbox Code Playgroud)\n\n我认为 Kotlin 插件本身被激活是因为id("org.jetbrains.kotlin.jvm").version("1.3.20")
,而不是因为"kotlin"
。
自述文件说
\n\n\n\n\nGradle(带有插件块)
\n\n您可以使用 Gradle 插件 DSL 而不是传统的应用插件来通过 kotlin 插件设置序列化插件:
\n\nRun Code Online (Sandbox Code Playgroud)\n\nplugins {\n id \'kotlin-multiplatform\' version \'1.3.20\'\n id \'kotlinx-serialization\' version \'1.3.20\'\n}\n
在这种情况下,由于序列化插件尚未发布到 Gradle 插件门户,您需要将插件解析规则添加到您的 settings.gradle 中:
\n\nRun Code Online (Sandbox Code Playgroud)\n\npluginManagement {\n resolutionStrategy {\n eachPlugin {\n if (requested.id.id == "kotlin-multiplatform") {\n useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:${requested.version}")\n }\n if (requested.id.id == "kotlinx-serialization") {\n useModule("org.jetbrains.kotlin:kotlin-serialization:${requested.version}")\n }\n }\n }\n}\n
不要忘记从构建脚本依赖项中删除插件的类路径依赖项,否则,您将收到有关版本冲突的错误。
\n
所以最小的改变就是从中删除两个字符串plugins
块中删除两个字符串并\nadd
apply plugin: \'kotlinx-serialization\'\n
Run Code Online (Sandbox Code Playgroud)\n\n反而。
\n 归档时间: |
|
查看次数: |
16200 次 |
最近记录: |