Kotlin未解决IntelliJ中的参考问题

问题描述 投票:59回答:12

我开始用tutorialIntelliJ学习Kotlin。当我尝试运行这个例子时,

fun main(args: Array<String>) {
 println("lol")
}

执行暂停此消息Error:(5, 5) Kotlin: Unresolved reference: println这是我第一次使用IntelliJ.I从未在Java项目上工作过。我遗漏了什么?

编辑:我已经看到了其他的question。答案对我的情况无效。

intellij-idea jvm kotlin
12个回答
65
投票

您在项目中使用的Intellij IDEA插件和Kotlin运行时/编译器需要匹配。例如,如果IDE插件是Beta 1,但使用M12的Gradle / Maven项目,则会出现与您所描述的完全相同的问题。所以检查一切都排好了。

如果仍有问题,使用一些较旧的插件,则需要清除Intellij IDEA中的缓存(文件菜单,清除缓存和重新启动,选择重启选项)。


1
投票

独立Kotlin项目的可能解决方案是在根项目中包含Kotlin标准库。

要在IntelliJ IDEA中执行此操作:

  • 按Ctrl + Shift + A(搜索操作或选项)
  • 输入“在项目中配置kotlin”并让它包含标准库

0
投票

有时在类似的情况下(我不认为这是你的问题,因为你的情况非常简单)值得检查kotlin文件包。

如果您在同一个软件包中有Kotlin文件,并且放了一些类并且错过了软件包声明,它会在IntelliJ中看到您在同一个软件包中有类但没有包的定义,IntelliJ会向您显示:

错误:(5,5)Kotlin:未解决的参考:......


-1
投票

今天发生在我身上。

我的问题是我打开了太多标签(我不知道它们是开放的),上面有源代码。

如果关闭所有选项卡,可能会使IntelliJ无法正确索引依赖项


17
投票

如果有人偶然发现这个问题并且Invalidate CacheUpdate Kotlin's Version工作:

1)首先,确保您可以从IDE外部构建它。如果你正在使用gradle,例如:

gradle clean build

如果一切顺利,那么你的环境与Kotlin一起工作都很好。

2)要修复IDE构建,请尝试以下操作:

项目结构 - > {选择模块} - > Kotlin - > FIX

正如JetBrain的成员所建议的那样:https://discuss.kotlinlang.org/t/intellij-kotlin-project-screw-up/597


10
投票

就我而言,这是一个配置错误的IntelliJ实例。

项目结构 - > SDKs - >再次删除并添加Java SDK


8
投票

进入这个问题。我不得不在build.grade中添加以下内容:

apply plugin: 'kotlin-android'


4
投票

对我来说,这是由于项目在项目结构中缺少Gradle Libraries。

只需添加build.gradle: apply plugin: 'idea'

然后运行: $ gradle idea

在该gradle重建依赖库之后,可以识别引用!


4
投票

好吧,我来过这里几次并不完全确定这是怎么回事,为什么会发生这种情况,但是读数表明它与Kotlin / JVM不匹配。我已尝试过本页提到的一些内容,但并非没有取得圆满成功。这是尝试通过IDE运行测试后IDE在消息面板中显示的那种症状。但是,代码面板没有红线表示无法找到或导入模块或任何不实用的模块。

enter image description here

我的项目(在撰写本文时)是IntelliJ中的gradle 4.10.2 kotlin 1.3项目(IntelliJ IDEA 2018.2.5(终极版)Build#IU-182.4892.20,建于2018年10月16日)

但对于初学者来说,我使缓存无效并重新启动。然后运行gradle清洁构建。重建项目后仍然没有喜悦。我进入项目设置并注意到编译器版本未设置为java 8,我将Compiler / Kotlin / Target JVM版本和编译器/ Java /项目字节代码设置为1.8 / 8(见下文),然后运行了一些测试IDE,我们又回来了!在我的案例中解决了参考文献。

enter image description here

enter image description here


3
投票

我的问题通过添加kotlin解决了如下

presentation.gradle(app.gradle)

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android' // here

apply plugin: 'kotlin-android-extensions' // and here

android {
    ...
}

dependencies {
    ...
}

domain.gradle(纯kotlin)

我的错误就在这里,因为Android Studio将我的域模块创建为纯Java模块并将插件应用为java,我在我的演示模块中使用它,这是一个Android / Kotlin模块

Android Studio查找并导入包的路径,但不兼容性不允许构建。

只需删除qazxsw poi并切换到kotlin,如下所示

apply plugin: 'java'

data.gradle

apply plugin: 'kotlin' // here is

dependencies {
    ...
}

...

我认为这会有所帮助


1
投票

与IDEA 14.1.5,Kotlin v.1.0.0-beta-1038-IJ141-17相同。 在创建新项目时,Kotlin获得了自己的列表条目(如Java),但唯一可用的配置是: 新的|项目| Java | “Kotlin(Java)”(确保您也配置了Project SDK) 使用库:创建“复制到:lib”。


1
投票

我尝试了一切:清理构建文件夹,运行apply plugin: 'com.android.library' apply plugin: 'kotlin-android' // here apply plugin: 'kotlin-android-extensions' // and here android { ... } dependencies { .. } ,执行AS invalidate cache(x2),重新安装Kotlin插件,重新启动电脑。

但最终在完成所有这一切之后它仍然没有用,但也从项目gradle clean build删除这一行:build.gradle,gradle sync然后重新添加工作

© www.soinside.com 2019 - 2024. All rights reserved.