Запустить Kotlin JAR файл - PullRequest
       2

Запустить Kotlin JAR файл

0 голосов
/ 07 октября 2019

Я несколько часов пытался запустить сгенерированный файл jar kotlin, но у меня возникла ошибка.

При запуске java -jar log-reader.jar я получаю следующее исключение:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/coroutines/Continuation
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
        at java.lang.Class.getMethod0(Class.java:3018)
        at java.lang.Class.getMethod(Class.java:1784)
        at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
Caused by: java.lang.ClassNotFoundException: kotlin.coroutines.Continuation
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 7 more

Jar создается с использованием пакета mvn

Я уже пытался изменить версию kotlin, и мой плагин IDEA уже находится в версии 1.3. Кто-нибудь может мне помочь в этом?

Спасибо!

1 Ответ

2 голосов
/ 07 октября 2019

mvn package maven goal only упаковывает ваш код в jar, чтобы он не содержал код ваших зависимостей, необходимых для запуска jar.

Вы должны либо скопироватьвсе ваши зависимости, кроме входной банки или упакуйте их содержимое в вашу банку, создавая так называемую толстую банку или банку uber.

Последнее может быть достигнуто с помощью различных плагинов maven, например, maven-assembly-plugin, maven-shade-plugin и т. Д. Вы можете узнать больше о нескольких способах достижения этого здесь: https://www.baeldung.com/executable-jar-with-maven.

См. Также этот вопрос о стеке потока о создании толстой банки: Создание толстой банки с помощью maven

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...