0

I have a war file that needs to be deployed to Tomcat8. I am getting this error.

I saw 'commons-logging' in spring-core dependency, so I excluded 'commons-logging' from spring core just for debugging to see a different error, but no luck so far.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
    <scope>compile</scope>
    <exclusions>
        <!-- Exclude Commons Logging in favor of SLF4j -->
        <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>



Oct 18, 2019 4:12:00 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [] in web application [/] threw load() exception
java.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:159)
        at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:479)
        at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
        at javax.servlet.GenericServlet.init(GenericServlet.java:158)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1228)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1066)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5449)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5747)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1018)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:994)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

And I have this entry in my pom file.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.7</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.7</version>
    <scope>runtime</scope>
</dependency>

But this war works fine with Tomcat 7 which is not our production tomcat. Is there anything else that I need to try?

user826323
  • 2,248
  • 6
  • 43
  • 70
  • This question was previously asked and answered. Please see https://stackoverflow.com/questions/8252597/slf4j-nosuchmethoderror-on-locationawarelogger – Ramu Nov 11 '19 at 02:52
  • Does this answer your question? [SLF4J NoSuchMethodError on LocationAwareLogger](https://stackoverflow.com/questions/8252597/slf4j-nosuchmethoderror-on-locationawarelogger) – Ramu Nov 11 '19 at 02:52

0 Answers0