log4j время выполнения NoClassDefFoundError - PullRequest
0 голосов
/ 28 сентября 2018

Я использую log4j в модуле jar для Android.Я могу успешно создать файл jar и успешно запустить его в AndroidStudio.

Моя конфигурация gradle:

implementation 'log4j:log4j:1.2.17'

Но когда я пытаюсь файл jar из командной строки:

java -jar test.jar

Я получил ошибку ниже:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at com.yeetor.Main.<clinit>(Main.java:39)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
    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

Почему он может работать в AndroidStudio, но не работать из командной строки?

1 Ответ

0 голосов
/ 29 сентября 2018

Обратитесь к this SO, чтобы сгенерировать один файл JAR с зависимостями.зависимость должна быть включена с использованием «compile», но не «реализаций», тогда вы получите больший Jar-файл, включающий все зависимости.Обычно gradle не включает зависимость в JAR-файл, а генерирует все зависимости как один JAR-файл.

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