java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger

来源:互联网 发布:2016淘宝店好做吗 编辑:程序博客网 时间:2024/05/29 03:32

Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

* java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V*

This was my second time to write blog on CSDN.
This was a maven-webapp project.

I was getting this error.

五月 01, 2017 8:16:09 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program\MyEclipse\MyEclipse Professional 2014\binary\com.sun.java.jdk7.win32.x86_64_1.7.0.u45\bin;D:\Program\MyEclipse\MyEclipse Professional 2014\plugins\com.genuitec.eclipse.easie.tomcat7.myeclipse_11.5.0.me201310302042\tomcat\bin五月 01, 2017 8:16:09 下午 org.apache.coyote.AbstractProtocol init信息: Initializing ProtocolHandler ["http-bio-8080"]五月 01, 2017 8:16:09 下午 org.apache.coyote.AbstractProtocol init信息: Initializing ProtocolHandler ["ajp-bio-8009"]五月 01, 2017 8:16:09 下午 org.apache.catalina.startup.Catalina load信息: Initialization processed in 801 ms五月 01, 2017 8:16:09 下午 org.apache.catalina.core.StandardService startInternal信息: Starting service Catalina五月 01, 2017 8:16:09 下午 org.apache.catalina.core.StandardEngine startInternal信息: Starting Servlet Engine: Apache Tomcat/7.0.30五月 01, 2017 8:16:09 下午 org.apache.catalina.startup.HostConfig deployDirectory信息: Deploying web application directory D:\Program\MyEclipse\workspace\.metadata\.me_tcat7\webapps\PhotoPK五月 01, 2017 8:16:09 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile信息: validateJarFile(D:\Program\MyEclipse\workspace\.metadata\.me_tcat7\webapps\PhotoPK\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.classSLF4J: The requested version 1.7.16 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8]SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.五月 01, 2017 8:16:17 下午 org.apache.catalina.core.ApplicationContext log信息: Initializing Spring root WebApplicationContext五月 01, 2017 8:16:17 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerjava.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V    at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:155)    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618)    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)    at java.util.concurrent.FutureTask.run(FutureTask.java:262)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)    at java.lang.Thread.run(Thread.java:744)五月 01, 2017 8:16:17 下午 com.sun.faces.config.ConfigureListener contextInitialized信息: 初始化上下文 '/PhotoPK' 的 Mojarra 2.2.6 ( 20140304-1537 https://svn.java.net/svn/mojarra~svn/tags/2.2.6@12949)五月 01, 2017 8:16:17 下午 com.sun.faces.spi.InjectionProviderFactory createInstance信息: JSF1048:有 PostConstruct/PreDestroy 注释。标有这些注释的 ManagedBeans 方法将表示注释已处理。五月 01, 2017 8:16:18 下午 org.apache.catalina.core.StandardContext startInternal严重: Error listenerStart五月 01, 2017 8:16:18 下午 org.apache.catalina.core.StandardContext startInternal严重: Context [/PhotoPK] startup failed due to previous errors五月 01, 2017 8:16:18 下午 org.apache.catalina.core.ApplicationContext log信息: Closing Spring root WebApplicationContext五月 01, 2017 8:16:18 下午 org.apache.coyote.AbstractProtocol start信息: Starting ProtocolHandler ["http-bio-8080"]五月 01, 2017 8:16:18 下午 org.apache.coyote.AbstractProtocol start信息: Starting ProtocolHandler ["ajp-bio-8009"]五月 01, 2017 8:16:18 下午 org.apache.catalina.startup.Catalina start信息: Server startup in 9097 ms

In short:

 java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger

It was not a serious problem to slove.

You could easily googled and find out that is because of the version of class “slf4j” including class “slf4j-api” and class “slf4j-log4j12”.
Taken examples by:
http://stackoverflow.com/questions/12926899/java-lang-noclassdeffounderror-org-slf4j-loggerfactory
https://yq.aliyun.com/articles/70779

Setting the same version of the above two class was OK.

In my project, it should work:

<dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-api</artifactId>    <version>1.5.8</version></dependency><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-log4j12</artifactId>    <version>1.5.8</version></dependency>

Find the right version for your project plz.

1 0
原创粉丝点击