Kolin Cookbook by Ken Kousen-1.5 Kotlin script 실행 'class를 인스턴스화 할 수 없습니다'오류가 발생합니다.
$ cat southpole.kts
import java.time.*
val instant = Instant.now()
val southPole = instant.atZone(ZoneId.of("Antarctica/South_Pole"))
val dst = southPole.zone.rules.isDaylightSavings(instant)
println("It is ${southPole.toLocalTime()} (UTC${southPole.offset}) at the South Pole")
println("The South Pole ${if (dst) "is" else "is not"} on Daylight Savings Time")
$ kotlinc -script southpole.kts
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
error: unable to instantiate class Southpole (southpole.kts): java.lang.NoClassDefFoundError: kotlin/script/templates/standard/ScriptTemplateWithArgs
kotlin 버전 1.3.50
println (...)
을 (를) 사용하려면 수동으로 추가해야하는 kotlin 런타임이 필요합니다.
이 문제는 여기에 설명되어 있습니다 https://discuss.kotlinlang.org/t/possible -kts-bug / 10162
..., (script)는 모듈의 종속성을 가져 오므로 kotlin-script-runtime을 모듈 종속성에 명시 적으로 포함시켜야합니다. 불행히도, 그것은 분명하지 않습니다. 우리는 가능한 해결책에 대해 생각하고 있습니다.
이것은 곧 Kotlin 1.3.60 릴리스에서 개선 된 것으로 보입니다. https://youtrack.jetbrains.com/issue/KT-33529
해결 방법으로 다음을 사용하십시오.
$ sdk use kotlin 1.3.41
출처 : https://stackoverflow.com/questions/58405880/kotlin-script-unable-to-instantiate-class