我开始使用tutorial在IntelliJ
学习Kotlin。当我尝试运行这个例子时,即
fun main(args: Array<String>) {
println("lol")
}
暂停执行此消息Error:(5, 5) Kotlin: Unresolved reference: println
这是我第一次使用IntelliJ.I从未在Java
项目上工作。我错过了什么?
编辑:我已经看到了其他question。答案对我的情况无效。
答案 0 :(得分:64)
您在项目中使用的Intellij IDEA插件和Kotlin运行时/编译器需要匹配。例如,如果IDE插件是Beta 1,但是您的Gradle / Maven项目使用M12,那么您将完全按照您的描述进行操作。所以检查一切都排好了。
如果仍有问题,使用一些较旧的插件,则需要清除Intellij IDEA中的缓存(文件菜单,清除缓存和重启,选择重启选项)。
答案 1 :(得分:17)
如果有人遇到这种情况并且没有 Invalidate Cache
或Update Kotlin's Version
工作:
1)首先,确保您可以从IDE外部构建它。如果您正在使用gradle
,例如:
gradle clean build
如果一切顺利,那么您的环境就可以与Kotlin
一起使用。
2)要修复IDE版本,请尝试以下:
项目结构 - &gt; {选择模块} - &gt; Kotlin - &gt; FIX
正如JetBrain的成员所建议的那样:https://discuss.kotlinlang.org/t/intellij-kotlin-project-screw-up/597
答案 2 :(得分:10)
就我而言,这是一个配置错误的IntelliJ实例。
项目结构 - &gt; SDKs - &gt;再次删除并添加Java SDK
答案 3 :(得分:8)
进入这个问题。我不得不将以下内容添加到build.grade:
apply plugin: 'kotlin-android'
答案 4 :(得分:4)
对我来说,这是由于项目在项目结构中缺少Gradle Libraries。
只需添加build.gradle:
apply plugin: 'idea'
然后运行:
$ gradle idea
在该gradle重建依赖项库之后,可以识别引用!
答案 5 :(得分:4)
好吧,我来过这里几次,但并不完全确定这种情况如何发生或为什么发生,但是阅读表明它是Kotlin / JVM不匹配的。我已经尝试了此页面上提到的许多方法,但并非没有完全成功。尝试通过IDE运行测试之后,IDE便在消息面板中显示了这种症状。但是,代码面板上没有红线,表示无法找到或导入模块或其他不良信息。
我的项目(在撰写本文时)是IntelliJ中的gradle 4.10.2 kotlin 1.3项目(IntelliJ IDEA 2018.2.5(Ultimate Edition)版本#IU-182.4892.20,于2018年10月16日构建)>
对于初学者来说,我使缓存无效并重新启动。然后运行gradle清理构建。重建项目后仍然没有喜悦。我进入项目设置,发现编译器版本未设置为Java 8,我将Compiler / Kotlin / Target JVM Version和Compiler / Java / Project Byte Code设置为1.8 / 8(请参见下文),然后在IDE,我们重新营业!在我的情况下,引用已解决。
答案 6 :(得分: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查找并导入包的路径,但不兼容 不允许构建。
只需按照以下步骤将
apply plugin: 'java'
移到Kotlin上
apply plugin: 'kotlin' // here is
dependencies {
...
}
...
data.gradle
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android' // here
apply plugin: 'kotlin-android-extensions' // and here
android {
...
}
dependencies {
..
}
我认为这会有所帮助
答案 7 :(得分:1)
Top Solution 对我不起作用,尝试一些方法后,手动删除 IDEA 缓存:
缓存目录:
~/Library/Caches/JetBrains/<product><version> on macOS
~/.cache/JetBrains/<product><version> on Linux
%LOCALAPPDATA%\JetBrains\<product><version> on Windows
解决方案来源:KTX issues
答案 8 :(得分:1)
与IDEA 14.1.5,Kotlin v.1.0.0-beta-1038-IJ141-17相同。
Kotlin在创建新项目时获得了自己的列表条目(如Java),但唯一可用的配置是:
新的|项目| Java | &#34; Kotlin(Java)&#34; (确保您也配置了Project SDK)
使用库:创建,&#34;复制到:lib&#34;。
答案 9 :(得分:1)
有时可能会发生这种情况,因为您正试图在Gradle中使用Kotlin插件版本与IDE中的插件不兼容的项目。在build.gradle中检查org.jetbrains.kotlin.jvm和其他Kotlin插件的版本,并在IDE中检查已安装的kotlin插件的版本,并尝试使其相似:
答案 10 :(得分:1)
我也很容易出错,但是我已经使用下面的概念解决了这个问题。
出现此错误是由于未正确配置Java。
答案 11 :(得分:1)
独立Kotlin项目的可能解决方案是在根项目中包含Kotlin标准库显式。
在IntelliJ IDEA中执行此操作:
答案 12 :(得分:1)
我尝试了一切:清理构建文件夹,运行gradle clean build
,执行AS invalidate cache(x2),重新安装Kotlin插件,重启pc。
但是在完成所有这些操作后最终仍然无法正常工作,但也要从此行的build.gradle
项中删除:apply plugin: 'kotlin-android-extensions'
,重新同步,然后重新添加工作< / p>
答案 13 :(得分:0)
使缓存无效并更新Android Studio中的Kotlin插件对我来说是成功的秘诀。
答案 14 :(得分:0)
我遇到了这个问题,因为我试图设置多平台库配置。
我已经从“ build.gradle”文件中删除了所有带有依赖项的源集,但保留了“ common”源集。
本机工作正常,但JVM无法构建并显示您的错误。
最后,解决方案是不删除JVM的Source集,也不要删除它的依赖项
答案 15 :(得分:0)
我想补充的另一件事是,您需要先选择 View-> Tool Windows-> Gradle ,然后才能使用Gradle运行项目。
如果使用Gradle,项目可以正常构建并运行,但是使用IntelliJ,则可以解决此问题。
答案 16 :(得分:0)
我遇到了这个问题,因为linter正在打印我的对象是#define MAX_COUNTER 255
...
if ( counter < MAX_COUNTER-1 ) counter++;
的实例,而编译器无法定义它的类型并认为它是一个Foo
对象,例如(它比较复杂在我的情况下,短绒棉在下面的代码中显示错误,但是想法在这里):
Any
要修复此问题,我必须投射对象:
class Foo {
val bar: Int = 0
}
fun test(): Any {
return Foo()
}
val foo = test()
foo.bar // <-- Linter consider that foo is an Instance of Foo but not the compiler because it's an Any object so it show the error at compilation.
答案 17 :(得分:0)
答案 18 :(得分:0)
有时在类似的情况下(我不认为这是你的问题,因为你的案子非常简单),检查kotlin文件包是值得的。
如果您在同一个软件包中有Kotlin文件,并且放了一些类并且错过了软件包声明,它会在IntelliJ中看到您在同一个软件包中有类,但是IntelliJ没有显示软件包的定义:
错误:(5,5)Kotlin:未解决的参考:......
答案 19 :(得分:-1)
今天发生在我身上。
我的问题是我打开的标签太多(我不知道它们是打开的)。
如果关闭所有选项卡,也许您将使IntelliJ正确地为依赖项编制索引
答案 20 :(得分:-1)
最简单的解决方案:
工具-> Kotlin->在项目中配置Kotin
如果发现有用则进行投票。