Java 在VSCode中使用Kotlin
我试图让Kotlin在VSCode中工作。到目前为止,通过kotlin扩展,我已经设法让它部分工作。我可以使用任何特定于Kotlin的类或函数,但不能导入任何特定于java的类。(Java 在VSCode中使用Kotlin,java,kotlin,visual-studio-code,Java,Kotlin,Visual Studio Code,我试图让Kotlin在VSCode中工作。到目前为止,通过kotlin扩展,我已经设法让它部分工作。我可以使用任何特定于Kotlin的类或函数,但不能导入任何特定于java的类。(错误:未解析的引用) 当我将VSCode项目与Eclipse项目和IDEA项目进行比较时,我注意到这两个项目的项目文件夹中都有JRE(在IDEA案例中,JRE是一个外部库)。这肯定是我在VSCode中的问题,但我不知道如何将JRE添加到我的项目中 我将Gradle用于我的项目: buildscript { ex
错误:未解析的引用
)
当我将VSCode项目与Eclipse项目和IDEA项目进行比较时,我注意到这两个项目的项目文件夹中都有JRE(在IDEA案例中,JRE是一个外部库
)。这肯定是我在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协程添加到项目中,结果发现即使这个外部库也无法工作(我在导入kotlinx.coroutines.Experiative.*和async
函数中都得到了未解决的引用错误)。这让我相信gradle不知道实际的项目,也不会导入任何必需的依赖项
创建项目时,我使用了
gradle init
命令,修改了build.gradle
文件,然后在项目的根目录下创建了一个main.kt
文件(文件中没有实际的代码,只有主函数、导入语句和对async
的调用)我已经找到了答案。所以,我要做的就是添加gradle应用程序插件并用它运行我的代码
build.gradle
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'
apply plugin: 'application'
mainClassName = 'MainKt'
defaultTasks 'run'
run{
standardInput = System.in
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
然后使用
gradlerun
运行代码,您不会将JRE添加到gradle。全局设置JAVA\u HOME
变量,gradle应该能够找到它。如果您运行的是Linux,这应该由发行版在安装Java时完成,否则/etc/profile
是定义变量的好地方。否则,从长远来看,我建议改变操作系统,并使用谷歌找到一个临时解决方案。我已经设置了变量,但它仍然不允许我导入javaclass@msrd0我编辑了这篇文章,添加了一些额外的信息。如果你够好的话,请再读一遍,抱歉,不知道。我只在Linux上使用过Idea和Atom。如果gradleinit
起作用,这意味着gradle可以找到JRE(没有它gradle无法启动)。尝试gradle assembly
查看您的问题是与gradle有关还是与gradle有关VSCode@msrd0命令起作用了。另外,当我添加协同程序时,VSCode语法检查会将对async
的调用标记为错误,但在重新启动后,该语法错误消失了,我甚至得到了文档参考,因此不是来自VSCode的。我认为我用错误的命令运行代码,或者我需要一些特定的文件夹结构。如果您使用了Atom,您使用什么命令来构建项目?