我是Kotlin脚本的新手,并且试图使用Kscript导入库。我一直在遵循这些教程,并尝试使用一个非常简单的脚本(如下所示)来导入几个库。当我运行脚本时,出现以下错误(此错误在我尝试执行的任何导入操作中都会发生)。当我删除导入时,脚本运行良好。关于如何在代码中修复导入的任何想法?

错误信息:

[kscript] Resolving dependencies...
[kscript]     Resolving org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2...Exception in thread "main" java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException

我的代码:
#!/usr/bin/env kscript

@file:MavenRepository("central", "https://repo.maven.apache.org/maven2/")
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2")
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.3.2")

import kotlinx.coroutines.*

println("Script is running with ${args.size} args passed")

for(arg in args) {
    println("arg: $arg")
}

最佳答案

当您使用jdk 9+时,此脚本将失败,并导致Kotlin 1.3.x上org/ietf/jgss/GSSException出现NoClassDefFoundError。

作为解决方法,请使用jdk 1.8。

将来的修复程序请参考此Dependencies are working only with jdk8

08-25 13:51