Почему мой код Log4j здесь не работает?

У меня проблемы с запуском моего кода log4j, и я считаю, что это проблема конфигурации; вот как я его запускаю:

C:\Users\Adel\JavaCoding>javac -cp  C:\apache_log4j_beta5\apache-log4j-2.0-beta5
-bin\log4j-api-2.0-beta5.jar;C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log4j-core-2.0-beta5.jar;. HelloWorldLog4J.java

Но я получаю эту ошибку:

C:\Users\Adel\JavaCoding>java HelloWorldLog4J Исключение в потоке "main" java.lang.NoClassDefFoundError: org/apache/logging/lo g4j/LogManager at HelloWorldLog4J. (HelloWorldLog4J.java:11) Причина: java.lang. ClassNotFoundException: org.apache.logging.log4j.LogManager

    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

C:\Пользователи\Адель\JavaCoding>


person Caffeinated    schedule 16.04.2015    source источник
comment
вам нужно указать банку log4j в пути к классам при запуске команды java   -  person ipohfly    schedule 16.04.2015
comment
@ipohfly - я добавил его в путь к классам, но по какой-то причине это не работает ... поэтому я сделал это вручную вот так. Который компилирует кстати   -  person Caffeinated    schedule 16.04.2015
comment
Можно опубликовать команду, которую вы запускаете команду java с путем к классам? Один опубликован для javac   -  person ipohfly    schedule 16.04.2015
comment
@ipohfly - Ах, мои извинения - я неправильно прочитал. Хорошо, я понимаю, что вы имеете в виду, спасибо   -  person Caffeinated    schedule 16.04.2015
comment
Значит, вы имеете в виду, что я должен называть это не просто как java HelloWorldLog4J , а с аргументами   -  person Caffeinated    schedule 16.04.2015
comment
да, что-то вроде java -cp <path-to-my-jar-files> HelloWorldLog4J   -  person ipohfly    schedule 16.04.2015
comment
@ipohfly СПАСИБО!!!!! Это сработало Наконец-то сработало :-) !!!!   -  person Caffeinated    schedule 16.04.2015


Ответы (1)


Как сказал пользователь ipohfly (спасибо!!!), я должен использовать команду java с аргументом -cp следующим образом:

C:\Users\Adel\JavaCoding>java -cp  C:\apache_log4j_beta5\apache-log4j-2.0-beta5-
bin\log4j-api-2.0-beta5.jar;C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log
4j-core-2.0-beta5.jar;. HelloWorldLog4J

и это дало желаемый результат:

pre_loggerDOTinfo

22:51:33.973 [основная] FATAL HelloWorld - Привет, это НЕУСТРАНИМОЕ сообщение 22:51:33,997 [основная] FATAL HelloWorld - Привет, это ТАКЖЕ НЕУСТОЙЧИВОЕ сообщение, #2

22:51:33.997 [main] FATAL HelloWorld — Здравствуйте, это ТАКЖЕ FATAL сообщение, #3

22:51:33.997 [main] FATAL HelloWorld — Здравствуйте, это ТАКЖЕ FATAL сообщение, #4

post_loggerDOTinfo

C:\Пользователи\Адель\JavaCoding>

person Caffeinated    schedule 16.04.2015