解决Spring boot 嵌入的tomcat不启动问题

 更新时间:2020年10月10日 16:14:21   作者:黄卷青灯957  
这篇文章主要介绍了解决Spring boot 嵌入的tomcat不启动问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

此文章记录一次spring boot通过main 方法启动无法成功的问题

Unregistering JMX-exposed beans on shutdown

问题如下,因为已经解决用的别人的截图但是效果是一样的

百度了一圈都说tomcat没有配置,但实际xml有如下配置

 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-tomcat</artifactId>
 </dependency>

问题:eclipse maven自动下jar包时下载的不全,有部分文件丢失,但是控制台并没有发出任何 classNotFound提示

解决:C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed

讲该目录下的所有文件删除,然后右键项目maven-> update project,

其他同类发现classNotFound也可以通过寻找对应jar包在本地仓库位置,使用相同操作进行解决

补充知识:springboot 设置web和非web启动

springBoot区分web和非web项目

老版本:

#server config
#web_environment是否是web项目
spring.main.web_environment=true
#是否加载springboot banner
spring.main.show_banner=false

现版本:

#server config
#是否设定web应用,none-非web,servlet-web应用
spring.main.web-application-type=servlet
#加载springboot banner的方式:off-关闭,console-控制台,log-日志
spring.main.banner-mode=off

WebApplicationType原理:

public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) {
 this.resourceLoader = resourceLoader;
 Assert.notNull(primarySources, "PrimarySources must not be null");
 this.primarySources = new LinkedHashSet<>(Arrays.asList(primarySources));
 this.webApplicationType = deduceWebApplicationType();
 setInitializers((Collection) getSpringFactoriesInstances(ApplicationContextInitializer.class));
 setListeners((Collection) getSpringFactoriesInstances(ApplicationListener.class));
 this.mainApplicationClass = deduceMainApplicationClass();
}

deduceWebApplicationType()推断当前环境是哪种Web环境(Servlet、Reactive),或者不是Web环境,判断逻辑为Classpath是够有以下类:

存在org.springframework.web.reactive.DispatcherHandler且不存在org.springframework.web.servlet.DispatcherServlet为WebApplicationType.REACTIVE;

同时存在javax.servlet.Servlet、org.springframework.web.context.ConfigurableWebApplicationContext 为WebApplicationType.SERVLET;

否则为 WebApplicationType.NONE

在这里this.webApplicationType = WebApplicationType.SERVLET;

所谓的banner就是控制台打印的一堆线组成的spring

以上这篇解决Spring boot 嵌入的tomcat不启动问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java IO流 文件的编码实例代码

    Java IO流 文件的编码实例代码

    本文通过实例代码给大家介绍了java io流文件编码的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-05-05
  • SpringBoot配置线程池的实现示例

    SpringBoot配置线程池的实现示例

    本文主要介绍了SpringBoot配置线程池的实现示例,主要包括在Spring Boot中创建和配置线程池,包括设置线程池的大小、队列容量、线程名称等参数,感兴趣的可以了解一下
    2023-09-09
  • IDEA中thymeleaf语法没有提示的问题及解决

    IDEA中thymeleaf语法没有提示的问题及解决

    这篇文章主要介绍了IDEA中thymeleaf语法没有提示的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 浅谈Java中Spring Boot的优势

    浅谈Java中Spring Boot的优势

    在本篇文章中小编给大家分析了Java中Spring Boot的优势以及相关知识点内容,兴趣的朋友们可以学习参考下。
    2018-09-09
  • Java实现对象排序的两种方式详解

    Java实现对象排序的两种方式详解

    这篇文章主要介绍了Java实现对象排序的两种方式详解,在Java中经常会涉及到对象数组的排序问题,则就提到对象之间的比较问题,今天我们就来看一下两种不同排序方式之间的区别,需要的朋友可以参考下
    2023-09-09
  • Java中File类方法详解以及实践

    Java中File类方法详解以及实践

    Java File类的功能非常强大,利用java基本上可以对文件进行所有操作,下面这篇文章主要给大家介绍了关于Java中File类方法以及实践的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 解决spring-boot-starter-web等报红问题

    解决spring-boot-starter-web等报红问题

    这篇文章主要介绍了解决spring-boot-starter-web等报红问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • SparkSQL快速入门教程

    SparkSQL快速入门教程

    Spark SQL是Spark用于结构化数据(structured data)处理的Spark模块,今天通过本文给大家介绍SparkSQL快速入门教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-02-02
  • java实现/创建线程的几种方式小结

    java实现/创建线程的几种方式小结

    在JAVA中,用Thread类代表线程,所有线程对象都必须是Thread类或者Thread类子类的实例,下面这篇文章主要介绍了java实现/创建线程的几种方式,需要的朋友可以参考下
    2021-08-08
  • Java面向对象关键字extends继承的深入讲解

    Java面向对象关键字extends继承的深入讲解

    继承就是使用已定义的类作为父类,新建一个类作为子类使用extends关键字继承这个类,这样就实现了继承关系,这篇文章主要给大家介绍了关于Java面向对象关键字extends继承的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论