当前位置: 首页 > 知识库问答 >
问题:

当我将spring-boot war部署到tomcat并启动tomcat时,我看到了以下错误消息

拓拔奇
2023-03-14

1.[localhost-startStop-1]org.apache.Catalina.core.containerbase.addchildinal containerbase.addchild:start:org.apache.Catalina.lifecycleException:无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/lab]]

2.LoggerFactory不是LoggerContext,但Logback位于类路径上。删除Logback或竞争的实现(类org.slf4j.impl.log4jLoggerFactory从文件/users/zhangzhikai/apache-tomcat-8.0.53/webapps/lab/web-inf/lib/slf4j-log4j12-1.7.25.jar加载)。如果您正在使用WebLogic,则需要将“org.slf4j”添加到web-inf/WebLogic.xml:org.slf4j.impl.log4jLoggerFactory中的prefer-application-packages中

3.org.apache.Catalina.startup.hostconfig.deploywar部署web应用程序存档时出错/users/zhangzhikai/apache-tomcat-8.0.53/webapps/lab.war java.lang.IllegalStateException:ContainerBase.AddChild:start:org.apache.Catalina.LifecycleException:无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/lab]]

共有1个答案

慕容品
2023-03-14

问题看起来像是tomcat的sl4j和spring-boot bundle的sl4j之间存在依赖冲突。

尝试将其从SpringBoot中的依赖项禁用日志中排除

或者将tha JAR/WAR作为ubar,如果适合您的范围,请阅读本文:

 类似资料:
  • 所以我对Spring很陌生--所以我想试试Spring Boot 我正在使用一个Maven来构建--我设置了一个视图请求,当我以“app”的形式运行它时,看起来就像它自己启动了tomcat,并且我有一个默认8080端口的服务,所以当我调用时,一切都很好。 然而,当我试图将其打包为WAR部署到服务器时,它不起作用 所以我想我应该回到基础,并将它部署到本地的tomcat服务器上,看看会发生什么 所以首

  • 最近,我发现可以使用Spring Boot附带的ServletRegistrationBean将自己的servlet bean添加到MVC中。但是文档似乎表明这只适用于嵌入式servlet容器:http://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-servlet-containers.html我的简

  • 目前,我的所有属性都定义在文件中。但是,我希望在文件夹中有与不同配置文件相关的属性文件,并且我希望能够选择其中的任何一个。例如: null

  • 在我创建servlet和war之前,我通常运行,当我转到localhost:8080/springnew/tesget时,结果是true,从数据库中列出JSON,但是当我创建servlet时,url localhost:8080/springnew/tesget是错误的。结果是: 欢迎来到Servlet测试中心 如何修复这个问题?多谢了。

  • 我正在使用spring boot,我想将一个rest API war文件部署到tomcat服务器中。tomcat服务器日志中没有错误,但当我调用任何endpoint时,我得到的是404“not found”,而我从tomcat服务器得到的是相同的。 java版本:8。tomcat版本:9。 也许我错过了什么,下面是我的代码示例: Pom: 2.application.java

  • 我正在尝试将带有WAR打包的Spring Boot应用程序部署到。应用程序部署成功,但是,当我尝试访问endpoint时,它导致404找不到。 WAR文件:application.WAR Tomcat文件夹包含以下内容和(Angular)具有 正如这里所讨论的,我添加了一个类,它扩展了,如下所示 在pom.xml中,我为spring-boot-starter-tomcat、tomcat-embed