我正在尝试从O'Reilly视频复制hello world程序 - Kotlin编程简介(Kotlin应用程序的结构)。
这是程序(Main.kt):
package com.hadihariri.kotlincourse
fun main(args: Array<String>)
{
println("Hello World!")
}
编译为“kotlinc Main.kt”
视频以这种方式运行它:
java -cp .:<path to kotlin runtime>/kotlin-runtime.jar com.hadihariri.kotlincourse.MainKt
对我来说是:
java -cp .:~/.sdkman/candidates/kotlin/current/lib/kotlin-runtime.jar com.hadihariri.kotlincourse.MainKt
运行时确实存在于该位置:
ls -al ~/.sdkman/candidates/kotlin/current/lib/kotlin-runtime.jar
-rw-r--r-- 1 user user 879182 Jun 8 18:23 /home/user/.sdkman/candidates/kotlin/current/lib/kotlin-runtime.jar
但是,如果没有在类路径中指定运行时,我会得到同样的错误:
java -cp .:~/.sdkman/candidates/kotlin/current/lib/kotlin-runtime.jar com.hadihariri.kotlincourse.MainKt
Exception in thread "main"
java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at com.hadihariri.kotlincourse.MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more