繁体   English   中英

收到此错误:“无法初始化类 org.apache.logging.log4j.LogManager”

[英]Getting this error: "Could not initialize class org.apache.logging.log4j.LogManager"

在此处输入图片说明 我已经包含了所有必要的 log4j jar 文件,但我不明白为什么我仍然收到此错误。

package in.gstzen.einvoice;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;

public class Log4jExample {

    private static Logger logger = LogManager.getLogger(Log4jExample.class);

    public static void main(String[] args) throws Exception {

        System.out.println("Hello World!\n");
        logger.debug("Log4jExample: A Sample Debug Message");
        logger.info("Log4jExample: A Sample Info  Message");
        logger.warn("Log4jExample: A Sample Warn  Message");
        logger.error("Log4jExample: A Sample Error Message");
        logger.fatal("Log4jExample: A Sample Fatal Message");
        System.out.println("Completed...");
    }
}

这看起来像是 log4j 版本 1 和 2 之间的冲突。您的类正在导入版本 1 类,但错误消息是针对 spring 框架未找到版本 2 类的 jar 文件的响应。 您想使用一种或另一种版本。

版本 1 将具有类路径为 org.apache.log4j.x 的类 jar 将被称为 log4j-1.xx

版本 2 将具有类路径类似于 org.apache.logging.log4j.x 的类 jar 将被命名为 log4j-core-2.xx 和一个类似于 log4j-slf4j18-impl-2.xx 的实现

请参阅此迁移助手: https : //logging.apache.org/log4j/2.x/manual/migration.html

注意:如果您的类路径同时包含版本 1 和版本 2 jars 所使用的实际类的解析可能有点随机(并且有问题)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM