我想编译一个带有依赖项/导入的 kotlin 文件
package_a.kt
// file: package_a.kt
package package_a
fun function_from_package_a(){
println(" hurray function_from_package_a was called ! ")
}
主文件
// file: main.kt
import package_a.*
fun main() {
function_from_package_a();
println("main function was executed")
}
编译正在使用
$ kotlinc package_a.kt -d package_a.jar
$ kotlinc main.kt -classpath package_a.jar -d main.jar
但是当我用java运行main.jar时,我会得到一个错误:
$ java -jar main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: package_a/Package_aKt
at MainKt.main(main.kt:8)
at MainKt.main(main.kt)
Caused by: java.lang.ClassNotFoundException: package_a.Package_aKt
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 2 more
有人知道为什么吗?