我开始用tutorial在IntelliJ
学习Kotlin。当我尝试运行这个例子时,
fun main(args: Array<String>) {
println("lol")
}
执行暂停此消息Error:(5, 5) Kotlin: Unresolved reference: println
这是我第一次使用IntelliJ.I从未在Java
项目上工作过。我遗漏了什么?
编辑:我已经看到了其他的question。答案对我的情况无效。
您在项目中使用的Intellij IDEA插件和Kotlin运行时/编译器需要匹配。例如,如果IDE插件是Beta 1,但使用M12的Gradle / Maven项目,则会出现与您所描述的完全相同的问题。所以检查一切都排好了。
如果仍有问题,使用一些较旧的插件,则需要清除Intellij IDEA中的缓存(文件菜单,清除缓存和重新启动,选择重启选项)。
独立Kotlin项目的可能解决方案是在根项目中包含Kotlin标准库。
要在IntelliJ IDEA中执行此操作:
有时在类似的情况下(我不认为这是你的问题,因为你的情况非常简单)值得检查kotlin文件包。
如果您在同一个软件包中有Kotlin文件,并且放了一些类并且错过了软件包声明,它会在IntelliJ中看到您在同一个软件包中有类但没有包的定义,IntelliJ会向您显示:
错误:(5,5)Kotlin:未解决的参考:......
今天发生在我身上。
我的问题是我打开了太多标签(我不知道它们是开放的),上面有源代码。
如果关闭所有选项卡,可能会使IntelliJ无法正确索引依赖项
如果有人偶然发现这个问题并且Invalidate Cache
或Update 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
就我而言,这是一个配置错误的IntelliJ实例。
项目结构 - > SDKs - >再次删除并添加Java SDK
进入这个问题。我不得不在build.grade中添加以下内容:
apply plugin: 'kotlin-android'
对我来说,这是由于项目在项目结构中缺少Gradle Libraries。
只需添加build.gradle:
apply plugin: 'idea'
然后运行:
$ gradle idea
在该gradle重建依赖库之后,可以识别引用!
好吧,我来过这里几次并不完全确定这是怎么回事,为什么会发生这种情况,但是读数表明它与Kotlin / JVM不匹配。我已尝试过本页提到的一些内容,但并非没有取得圆满成功。这是尝试通过IDE运行测试后IDE在消息面板中显示的那种症状。但是,代码面板没有红线表示无法找到或导入模块或任何不实用的模块。
我的项目(在撰写本文时)是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,我们又回来了!在我的案例中解决了参考文献。
我的问题通过添加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 {
...
}
...
我认为这会有所帮助
与IDEA 14.1.5,Kotlin v.1.0.0-beta-1038-IJ141-17相同。 在创建新项目时,Kotlin获得了自己的列表条目(如Java),但唯一可用的配置是: 新的|项目| Java | “Kotlin(Java)”(确保您也配置了Project SDK) 使用库:创建“复制到:lib”。
我尝试了一切:清理构建文件夹,运行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然后重新添加工作