Spring 将war部署到tomcat时出错(java.lang.NoSuchMethodError:org.slf4j.spi.LocationAwareLogger)
我有一个war文件需要部署到Tomcat8。我得到了这个错误 我在SpringCore依赖项中看到了“commons logging”,所以我从SpringCore中排除了“commons logging”,只是为了调试以查看不同的错误,但到目前为止运气不佳Spring 将war部署到tomcat时出错(java.lang.NoSuchMethodError:org.slf4j.spi.LocationAwareLogger),spring,maven,spring-mvc,tomcat8,Spring,Maven,Spring Mvc,Tomcat8,我有一个war文件需要部署到Tomcat8。我得到了这个错误 我在SpringCore依赖项中看到了“commons logging”,所以我从SpringCore中排除了“commons logging”,只是为了调试以查看不同的错误,但到目前为止运气不佳 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifact
<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)
org.springframework
弹簧芯
${spring.version}
编译
公用记录
公用记录
2019年10月18日下午4:12:00 org.apache.catalina.core.StandardContext loadOnStartup
严重:web应用程序[/]中的Servlet[]引发load()异常
java.lang.NoSuchMethodError:org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
位于org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:159)
位于org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:479)
位于org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
位于javax.servlet.GenericServlet.init(GenericServlet.java:158)
位于org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1228)
位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
位于org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1066)
位于org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5449)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5747)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1018)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:994)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
位于org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
运行(Thread.java:748)
我的pom文件中有这个条目
<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>
org.slf4j
slf4j api
1.7.7
编译
org.slf4j
jcl-over-slf4j
1.7.7
运行时
但是这场战争在Tomcat 7上运行得很好,它不是我们的产品Tomcat。还有什么我需要尝试的吗?这个问题以前被问过并回答过。请看这是否回答了您的问题?