Je veux inclure jar de Java à Kotlin. J'ai essayé comme ci-dessous, mais j'ai eu une erreur.Comment compiler Kotlin pour inclure Java de Java avec une ligne de commande?
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
L'erreur est:
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
J'utilise comme ci-dessous les répertoires:
root
|-javasorce
| |-test
| |-JavaTestClass.java
|-kotlin
|-CallJavaTestClass.kt
S'il vous plaît me dire s'il y a une solution.
Merci à vous, je résolu! Votre réponse est très très facile à comprendre! La plupart de vos réponses étaient correctes, mais il y a une erreur. La méthode correcte d'exécution d'une application n'est pas Java CallJavaTestClassKt -cp kotlin/CallJavaTestClass.jar: javasorce/test/JavaTestClass.jar mais java -cp kotlin/CallJavaTestClass.jar: javasorce/test/JavaTestClass.jar CallJavaTestClassKt'. Dans votre suggestion, 'java' n'a pas pu trouver CallJavaTestClassKt. – naokichi