Как компилировать Kotlin для включения jar Java с командной строкой?

Я хочу включить jar Java в Kotlin. Я пробовал, как показано ниже, но у меня была ошибка.

javac -encoding utf-8 javasorce/test/JavaTestClass.java jar cvf javasorce/test/JavaTestClass.jar javasorce/test/JavaTestClass.class kotlinc kotlin/CallJavaTestClass.kt -cp javasorce/test/JavaTestClass.jar -include-runtime -d kotlin/CallJavaTestClass.jar java -jar kotlin/CallJavaTestClass.jar 

Ошибка:

 Exception in thread "main" java.lang.NoClassDefFoundError: javasorce/test/JavaTestClass at CallJavaTestClassKt.main(CallJavaTestClass.kt:5) Caused by: java.lang.ClassNotFoundException: javasorce.test.JavaTestClass at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 1 more 

Я использую, как ниже каталогов:

 root |-javasorce | |-test | |-JavaTestClass.java |-kotlin |-CallJavaTestClass.kt 

Пожалуйста, скажите мне, есть ли решение.

    В дополнение к компиляции исходного кода с библиотекой Java в пути к классам вам нужно запустить программу с той же библиотекой в ​​пути к классам: если класс присутствует во время компиляции, вам нужно это также во время пути, быть в состоянии использовать его.

    Правильный способ запуска приложения с его классами, разбросанными по нескольким JAR, – передать эти JAR как путь к java класса и дополнительно указать класс, который имеет main функцию:

     java CallJavaTestClassKt -cp kotlin/CallJavaTestClass.jar:javasorce/test/JavaTestClass.jar 

    Вышеприведенная команда предполагает, что вы поместили main функцию на верхний уровень CallJavaTestClass.kt (в этом случае имя класса формируется по имени файла с .kt на Kt ), и у него нет объявления package ... Если у вас есть пакет, добавьте его к имени класса как com.example.FileNameKt . Если вы объявляете main объект или объект-компаньон, используйте имя класса или имя объекта (без Kt ) вместо CallJavaTestClassKt .

    См. Также: Как запустить класс Kotlin из командной строки?