私はKotlinにJavaのjarファイルを含める必要があります。私は以下のようにしてみましたが、エラーがありました。KotlinをJavaのjarファイルをコマンドラインでコンパイルするには?
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
は教えてください。
おかげで、私は解決しました!あなたの答えは非常に理解しやすいです! あなたの答えのほとんどは正しいですが、間違いが1つあります。アプリケーションを実行する正しい方法は 'java CallJavaTestClassKt -cp kotlin/CallJavaTestClass.jar:javasorce/test/JavaTestClass.jar'ではなく' java -cp kotlin/CallJavaTestClass.jar:javasorce/test/JavaTestClass.jar CallJavaTestClassKt'です。あなたの提案では、 'java'はCallJavaTestClassKtを見つけることができませんでした。 – naokichi