将gradle
添加到IntelliJ
中的现有Kotlin项目后,我开始遇到一些标准库元素引用的问题。例如,Kotlin String
类型已被识别,但mutableMapOf
正在给我
Error:(11, 60) Kotlin: Unresolved reference: mutableMapOf
另一个是:
Error:(9, 78) Kotlin: Unresolved reference: Array
编译期间。它们在IDE中也标记为红色(不是仅与编译隔离)
IntelliJ
中显示的另一个错误是Kotlin not configured
,没有配置Kotlin
的选项
这是我的gradle构建文件:
apply plugin: 'kotlin'
group = "com.serguei.myproject"
version = "1.0"
buildscript {
ext.kotlin_version = '1.2.10'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compile 'com.google.code.gson:gson:2.8.2'
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
答案 0 :(得分:0)
感谢Ice100和Preston Garno的评论,他们帮助我们找到了解决方案。
问题是我的项目结构不正确。我有:
MyProject -> src -> [Source Files]
-> build.gradle
然而,在更仔细地咨询Using Gradle之后,似乎建议的项目结构应该是
MyProject -> src -> main -> kotlin -> [Source Files]
-> build.gradle
调整项目结构后,进入File -> Invalidate Caches / Restart
并点击Invalidate and Restart
。重新运行索引器后,现在应该可以使用Kotlin
标准库类型,函数等。
答案 1 :(得分:0)
对于因为IntelliJ突然在kotlin标准库中找不到内容的问题而进入此页面的任何人:File -> Invalidate Caches / Restart
帮助我处理了甚至不涉及gradle的情况。
答案 2 :(得分:0)
将Java应用程序迁移到Kotlin之后,我发现自己处于这种情况。
检查gradle结构here之后 您可以使用菜单栏中的同步按钮将项目与Gradle同步。 这将下载Kotlin所需的文件
然后,您可以仅验证缓存并在必要时重新启动。