启动springboot,出现Unable to start embedded Tomcat

这篇具有很好参考价值的文章主要介绍了启动springboot,出现Unable to start embedded Tomcat。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错信息


org.apache.catalina.core.ContainerBase   : A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_111]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_111]
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_111]
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [na:1.8.0_111]
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486) [tomcat-embed-core-9.0.69.jar:9.0.69]


org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:165) ~[spring-boot-2.7.6.jar:2.7.6]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) ~[spring-context-5.3.24.jar:5.3.24]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) [spring-boot-2.7.6.jar:2.7.6]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.6.jar:2.7.6]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.7.6.jar:2.7.6]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) [spring-boot-2.7.6.jar:2.7.6]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) [spring-boot-2.7.6.jar:2.7.6]
	at com.cennavi.bigdata.App.main(App.java:11) [classes/:na]

问题定位

Caused by: java.lang.AbstractMethodError: org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan(Lorg/apache/tomcat/Jar;Ljava/lang/String;Z)V
	at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:387) ~[tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.tomcat.util.scan.StandardJarScanner.processURLs(StandardJarScanner.java:318) ~[tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.tomcat.util.scan.StandardJarScanner.doScanClassPath(StandardJarScanner.java:270) ~[tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:233) ~[tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262) ~[jetty-runner-9.3.20.v20170531.jar:2.3.2]
	at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:106) ~[jetty-runner-9.3.20.v20170531.jar:2.3.2]
	at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:103) ~[jetty-runner-9.3.20.v20170531.jar:2.3.2]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5211) ~[tomcat-embed-core-9.0.69.jar:9.0.69]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.69.jar:9.0.69]
	... 35 common frames omitted
  1. 查看报错信息的最后一行,发现在执行TldScanner这个类下面的方法时,出现omitted,一般这种情况,大概率是发生了jar冲突了。
  2. 如下图所示,查看TldScanner这个类,出现两处地方都包含,找到报错信息中jetty-runner.jar 所在的依赖。我的工程是在hive-cli这个依赖里面。
  3. 使用Dependency Analyzer,可以方便快速的定位jar。
    启动springboot,出现Unable to start embedded Tomcat,spring boot,tomcat,java

解决问题

在引入的依赖hive-cli里面,将jetty-runner.jar排除掉即可

<dependency>
  	<groupId>org.apache.hive</groupId>
   	<artifactId>hive-cli</artifactId>
   	<version>3.1.1</version>
   	<exclusions>
		<exclusion>
       		<artifactId>jetty-runner</artifactId>
        	<groupId>org.eclipse.jetty</groupId>
    	</exclusion>
  	</exclusions>
</dependency>

最后服务正常启动!!!文章来源地址https://www.toymoban.com/news/detail-647956.html

到了这里,关于启动springboot,出现Unable to start embedded Tomcat的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决“Unable to start embedded Tomcat“错误的完整指南

    在使用Spring Boot开发应用程序时,有时可能会遇到\\\"Unable to start embedded Tomcat\\\"的错误,这可能是由多种原因引起的。本文将详细介绍这个错误的常见原因以及解决方法,帮助你快速解决问题并顺利启动应用程序。 首先,在启动应用程序时,查看控制台输出的错误信息,该错误信

    2024年02月11日
    浏览(59)
  • 记spring boot启动出现Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFa

    今天拉下了一个新的springboot工程,启动时出现了Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.这个异常。在网上搜索这个错误,有几种说法。 说法一:是因为缺少一个

    2024年04月23日
    浏览(57)
  • org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server

    org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server ------------------------------------------ 本地模拟复现问题 JDK 1.8_341   tomcat 9.0.41 其实不是tomcat和JDK版本问题,而是SSL配置出错的。

    2024年04月12日
    浏览(48)
  • SpringBoot启动报错Unable to start web server; nested exception...

    在创建SpringBoot项目时,依赖加载,但是启动报错如下:Unable to start web server; nested exception… 网上找了很多,很多回答为版本不一致,但仔细检查,版本对应都修改好了,但是还是报这个错误,test却能够成功。 根据自测,是导入的依赖问题:注释掉或者删除即可 原因是在创建

    2024年02月12日
    浏览(49)
  • 已解决:SpringBoot启动报错:Unable to start web server; nested exception is org.springframework.boot.web

    查了一些解决方案,但是最后发现这个报错是因为:在pom引用了jackson相关包,但没有引用完整导致的 这个Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。

    2024年02月12日
    浏览(73)
  • 程序启动报错org.springframework.context.ApplicationContextException: Unable to start web server

    1、该项目在Linux和本机电脑上启动都正常 2、在另一台电脑上启动就报错 3、代码都是同一份,没有差别 导入spring-boot-starter-tomcat依赖时定义的scope导致 原依赖导入配置 调整后依赖导入配置 注:本机就算是provided也能正常启动,另一台电脑上就不行,应该是运行环境上的差异

    2024年02月15日
    浏览(59)
  • android服务启动失败Unable to start service Intent U=0: not found

    android启动服务失败,提示:Unable to start service Intent { cmp=xxx/.xxx} U=0: not found。检查清单文件服务配置没有错,启动服务的方法也没错。 场景:我的程序是系统应用,运行于9.0,作为launcher使用,在application onCreate中启动服务。试过延迟启动服务和配置action和Package的方式启动服

    2024年02月11日
    浏览(52)
  • zookeeper启动报错出现Starting zookeeper ... FAILED TO START详细解决方案

    第1步 来到zkServer.sh 的文件目录下,执行 发现是 此节点上的Zookeeper 所处阶段与 当前ClouderaManager中Zookeeper 的阶段 不匹配 ,导致无法启动此节点上面的 Zookeeper Quorum Server 。   第2步 来到zkData,目录,然后清空version-2文件夹 和删除zookeeper-server.pid文件并同步其他服务器 第3步

    2024年02月02日
    浏览(60)
  • mac远程vscode 服务器 出现 Unable to start debugging. Launch options string provided by the project system i

    Unable to start debugging. Launch options string provided by the project system is invalid. Unable to determine path to debugger.  Please specify the \\\"MIDebuggerPath\\\" option 如果您使用的是Linux系统,并且遇到了VSCode中的调试问题,提示需要指定MIDebuggerPath,这通常意味着您需要在launch.json配置文件中指定GDB或LLDB调

    2024年03月28日
    浏览(77)
  • AndroidStudio中虚拟机(AVD)无法启动,出现unable to locate adb错误

    1.检查Android SDK Platform-Tools是否安装(个人是通过这个方法解决的) 首先通过File-Project Structure-Project SDK检查SDK有没有被选中 步骤:打开file - settings ,搜索SDK 之后点击\\\"-\\\",在点击Apply进行安装 2.可能是驱动的问题 电脑未安装指定手机的android ADB interface驱动(比如),这个可能性最大

    2024年04月28日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包