Log4J无法正常工作,并引发ClassNotFoundException

时间:2020-01-27 02:04:16

标签: java log4j

我试图用我的Java讲师给出的少量指令来理解log4j。这是我所做的。

1)创建一个Java项目并在main方法中添加一些代码。

2)添加了外部jar(log4j-core-2.11.1.jar和log4j-api-2.11.1.jar

3)添加了导入:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

4)在我的主类中添加了以下内容

private static final Logger logger = LogManager.getLogger();

这就是我被困住的地方。

我得到的异常:

 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at com.test.JavaProgram.<clinit>(JavaProgram.java:22)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
..

5)我在文档中的讲师也提到要添加以下内容作为VM参数的一部分,而我做到了。

-Dlog4j.configurationFile=./conf/log4j-console-config.xml

目前,我没有时间了解Log4j或Eclipse。我在这里做什么错了?

编辑:当我以“作为Java应用程序运行”程序运行时,会弹出一个窗口(“选择Java应用程序”),并要求我输入“选择类型(?=任何字符...): 当我单击确定时,将显示以下内容:

Usage: java 
org.apache.logging.log4j.core.tools.Generate$CustomLogger className LEVEL1=intLevel1
       Where className is the fully qualified class name of the custom/extended logger
       to generate, followed by a space-separated list of custom log levels.
       For each custom log level, specify NAME=intLevel (without spaces).

我知道Maven更简单,但是我不得不使用它!

1 个答案:

答案 0 :(得分:0)

您为什么不能使用这些简单步骤。只需将log4j作为依赖项添加到Pom.xml中即可。 https://www.javatpoint.com/log4j-maven