我在运行 log4j 代码时遇到问题,我认为这是一个配置问题; 这是我运行它的方式:
C:UsersAdelJavaCoding>javac -cp C:apache_log4j_beta5apache-log4j-2.0-beta5
-binlog4j-api-2.0-beta5.jar;C:apache_log4j_beta5apache-log4j-2.0-beta5-binlog4j-core-2.0-beta5.jar;. HelloWorldLog4J.java
但是我收到此错误:
C:\Users\Adel\JavaCoding>java HelloWorldLog4J 线程中的异常 "main" java.lang.NoClassDefFoundError: org/apache/logging/lo g4j/日志管理器 在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:\Users\Adel\JavaCoding>
正如用户ipohfly(谢谢!!)所说,我必须将java
命令与-cp
参数一起使用,如下所示:
C:UsersAdelJavaCoding>java -cp C:apache_log4j_beta5apache-log4j-2.0-beta5-
binlog4j-api-2.0-beta5.jar;C:apache_log4j_beta5apache-log4j-2.0-beta5-binlog
4j-core-2.0-beta5.jar;. HelloWorldLog4J
这产生了所需的输出:
pre_loggerDOTinfo
22:51:33.973 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 22:51:33.997 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 另外,#2
22:51:33.997 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 另外,#3
22:51:33.997 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 另外,#4
post_loggerDOTinfo
C:\Users\Adel\JavaCoding>