我已经包括了所有必要的log4jjar文件,我不明白为什么我仍然得到这个错误。
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...");
}
}
2条答案
按热度按时间hiz5n14c1#
这看起来像是log4j版本1和版本2之间的冲突。您的类正在导入版本1类,但是错误消息是对spring框架找不到版本2类的jar文件的响应。你想用一个版本还是另一个版本。
版本1将有classpath org.apache.log4j.x的类,jar将被称为log4j-1.x.x
版本2将有类路径像org.apache.logging.log4j.x,jar将被命名为log4j-core-2.x.x,实现像log4j-slf4j18-impl-2.x.x
查看此迁移帮助程序:https://logging.apache.org/log4j/2.x/manual/migration.html
注意:如果您的类路径同时包含版本1和版本2 JAR,那么实际使用的类的解析可能有点随机(而且有问题)。
gwo2fgha2#
请列出你加的jar。
请看这里:https://www.cwiki.us/questions/13469089/could-not-initialize-class-org.apache.logging.log4j.logmanager