【发布时间】:2018-09-30 16:52:21
【问题描述】:
我试图让 Kotlin 在 VSCode 中工作。到目前为止,通过 kotlin 扩展,我已经设法让它部分工作。我可以使用任何 Kotlin 特定的类或函数,但我不能导入任何 Java 特定的类。 (error: unresolved reference)
当我将 VSCode 项目与 Eclipse 项目和 IDEA 项目进行比较时,我注意到两者的项目文件夹中都有 JRE(在 IDEA 案例中为 External Library)。很确定这是我在 VSCode 中的问题,但我不知道如何将 JRE 添加到我的项目中。
我正在为我的项目使用 Gradle:
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'
kotlin {
experimental {
coroutines 'enable'
}
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21"
}
如您所见,我有 Kotlin-JVM 插件,但除此之外,我不知道将 JRE 添加到 gradle 的方法。谁能帮帮我?
编辑:我尝试将 kotlin 协程添加到项目中,结果发现即使这个外部库也无法工作(我在 import kotlinx.coroutines.experimental.* 和 async 函数上都遇到了未解决的引用错误) .这让我相信 gradle 不知道实际的项目,也不会导入任何必需的依赖项。
创建项目时我使用了gradle init命令,修改了build.gradle文件,然后在项目的根目录下创建了main.kt文件(文件中没有实际代码,只有main函数,导入语句和对async的调用)
【问题讨论】:
-
您没有将 JRE 添加到 gradle。全局设置
JAVA_HOME变量,gradle 应该能够找到它。如果您正在运行 Linux,这应该由您的发行版在安装 Java 时完成,否则/etc/profile是定义变量的好地方。否则,我建议从长远来看更改操作系统并使用谷歌找到临时解决方案 -
我在 Windows 上。我已经设置了变量,但它仍然不允许我导入 java 类
-
@msrd0 我已经编辑了帖子,添加了一些额外的信息。如果你足够好,请重读它
-
抱歉,不知道。我只在 Linux 上使用过 Idea & Atom。如果
gradle init有效,这意味着 gradle 可以找到 JRE(没有它,gradle 无法启动)。试试gradle assemble看看你的问题是 gradle 还是 VSCode -
@msrd0 该命令有效。此外,当我添加协程时,VSCode 语法检查会将对
async的调用标记为错误,但重新启动后语法错误消失了,我什至获得了文档参考,所以不是来自 VSCode。我在想我正在使用错误的命令运行代码,或者我需要一些特定的文件夹结构。如果您使用过 Atom,您使用什么命令构建项目?
标签: java kotlin visual-studio-code