您的Intellij IDEA插件和项目中使用的Kotlin运行时/编译器需要匹配。例如,如果IDE插件是Beta 1,但您的Gradle/Maven项目使用的是M12,那么您会遇到与您描述的问题相同的问题。因此,请检查所有内容是否匹配。
如果您仍然遇到问题,则对于某些旧插件,您需要在Intellij IDEA中清除缓存(文件菜单,清除缓存并重新启动,选择重新启动选项)。
未解决的引用: io
。作为一个 JAR 归档文件,引用解析应该是幼儿园级别的东西。那么怎么回事? - will更新 - 01/2022
Jetbrains关于此问题的线程已经移动,无法找到,因此下面的链接不再有效。
选项按模块,Kotlin -> FIX
不再存在,并且自从早期版本中使用这种临时修补程序来处理集成问题以来已经有数年时间了。
如果有人遇到这个问题,无论是使缓存失效
还是更新Kotlin版本
都不起作用:
首先,请确保您可以从IDE外部构建它。例如,如果您使用gradle:
gradle clean build
如果一切顺利,则您的环境可以很好地使用Kotlin
。
项目结构 -> {选择模块} -> Kotlin -> FIX
正如JetBrain的成员在这里建议的那样:https://discuss.kotlinlang.org/t/intellij-kotlin-project-screw-up/597
在我的情况下,这是一个配置不正确的IntelliJ实例。
项目结构 -> SDKs -> 删除并重新添加Java SDK
apply plugin: 'kotlin-android'
好的,我来过这里几次,但并不确定为什么会出现这种情况,阅读后发现可能是Kotlin/JVM版本不匹配。我尝试了这个页面上提到的一些方法,但并没有完全成功。在尝试通过IDE运行测试后,这是IDE显示在消息面板中的症状。然而代码面板没有红线,表明找不到模块或未导入任何异常内容。
我的项目(撰写本文时)是基于gradle 4.10.2和kotlin 1.3的项目,使用IntelliJ IDEA 2018.2.5(Ultimate Edition)版本号#IU-182.4892.20,在2018年10月16日构建)
首先,我使缓存失效并重新启动。然后执行了gradle clean build命令。重建项目后仍然失败。我进入项目设置并发现编译器版本未设置为java 8,我将Compiler/Kotlin/Target JVM Version和Compiler/Java/Project Byte Code设置为1.8/8(如下所示),然后在IDE中运行了一些测试,我们又回到了正常状态!在我的情况下,引用已解析。
对于独立的 Kotlin 项目,一种可能的解决方案是在根项目中显式包含 Kotlin 标准库。
在 IntelliJ IDEA 中进行操作:
apply plugin: 'idea'
然后运行:
$ gradle idea
之后,gradle会重新构建依赖库并识别引用!通过添加以下的 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 将我的 domain 模块创建为纯 Java 模块,并将插件应用为 java,而我在我的 presentation 模块中使用了它,该模块是一个 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 {
..
}
我认为这将非常有帮助