Kotlin(JVM)标准库元素的未解析参考

时间:2017-12-25 16:14:53

标签: intellij-idea jvm kotlin

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"
    }
}

3 个答案:

答案 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所需的文件

然后,您可以仅验证缓存并在必要时重新启动。