我尝试在Kotlin中使用@Serializable
注解。我可以使用Gradle构建项目,但它在IntelliJ中显示为红色,当我将鼠标悬停在@Serializable
注解上时,会显示一条消息:
kotlinx.serializable compiler plugin is not applied to the module, so this
annotation would not be processed. Make sure you've setup your buildscript
correctly and re-import project.
我的build.gradle.kts
文件看起来像这样:
plugins {
id("org.jetbrains.kotlin.jvm").version("1.3.50")
id("org.jetbrains.kotlin.plugin.serialization") version "1.3.50"
idea
}
repositories {
jcenter()
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation(group = "com.charleskorn.kaml", name = "kaml", version = "0.12.0")
testImplementation("org.jetbrains.kotlin:kotlin-test")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
}
我安装了最新版本的Kotlin插件(1.3.50)。
5条答案
按热度按时间um6iljoc1#
您需要添加:
这是由JetBrains在此处指定的,并链接到gradle:
https://github.com/Kotlin/kotlinx.serialization#setup
https://ktor.io/docs/kotlin-serialization.html#add_dependencies
3lxsmp7m2#
问题是我使用
idea
插件来生成IntelliJ项目。当我通过打开build.gradle.kts
文件来导入项目时,一切都按预期运行。我之所以没有以这种方式导入它,是因为我禁用了Gradle支持,所以当我打开
build.gradle.kts
文件时,它没有导入项目,只是在编辑器中打开了它。点击cmd
+shift
+a
并搜索Gradle
,然后将开关切换到On
。在重新启动IntelliJ之后,您应该能够从build.gradle.kts
文件导入项目,并且您应该可以开始了。vlf7wbxs3#
在我的例子中,我需要在 * 项目级别 * gradle添加JVM插件
然后在 app gradle 中我添加了
使用此配置,我可以看到:
mwyxok5s4#
在我的例子中,
main
和test
目录在IntelliJ中不再是“模块”。不确定发生了什么...您可以转到
menu -> File -> Project Structure...
来验证这一点在
modules
左侧导航下,main
和test
应该是父应用下的模块。如果不是,最简单的修复方法是Menu -> File -> New project from existing source...
并导入为gradle项目否则,你也可以通过上面显示的
Project structure...
重新创建你的模块。然后在你的父应用下选择+ New Module
,然后选择Java,并选中Kotlin作为模块类型。对main
和test
目录都这样做(确保在后者中你的目录被标记为“test”源目录)zpgglvta5#
您是否尝试过转到“文件-〉使缓存无效”?