我在第一行代码的Spring应用程序中遇到异常:
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
我将commons-logging-1.1.1.jar配置为项目库。
这是堆栈跟踪:
java.lang.UnsupportedOperationException:logger [org.slf4j.impl.SimpleLogger(org.springframework.context.support.ClassPathXmlApplicationContext)]似乎不知道位置。
at org.apache.log4j.Category.log(Category.java:347) 在org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:199) 在org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:456) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:394) 在org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139) 在org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)
答案 0 :(得分:0)
看起来您正在同时使用多个日志记录框架。此错误似乎是SLF4J和Log4J配置之间发生冲突的症状。
看一下这篇文章:
http://www.qos.ch/pipermail/slf4j-user/2010-February/000892.html
哪个州,
代码日志(String FQCN,Priority p, 对象消息,Throwable t)方法抛出 一个例外,因为调用者 期待位置感知日志,但是 实际的记录器实现不是 能够提供“位置 意识”。
如果没有更多信息,我最好的猜测是你有一个像slf4j-nop-1.6.1.jar这样的slf4j jar的引用,或者通过指向Logger类的非操作实现来关闭日志的其他东西。 / p>
查找罪魁祸首并将其删除(或将其替换为slf4j-log4j版本)。
你在使用Maven吗?
如果是这样,请打开pom文件的依赖关系图,并在其名称中搜索 slf4j 的所有依赖关系。删除看起来像NOOP jar的那个。