时间:2021-05-19
此文章记录一次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 bannerspring.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=offWebApplicationType原理:
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不启动问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
把spring-boot项目按照平常的web项目一样发布到tomcat容器下一、修改打包形式在pom.xml里设置war二、移除嵌入式tomcat插件在pom.
把spring-boot项目按照平常的web项目一样发布到tomcat容器下一、修改打包形式在pom.xml里设置war二、移除嵌入式tomcat插件在pom.
一)spring-boot-starter命名规则自动配置模块命名规则:xxx-spring-boot,如:aspectlog-spring-boot启动器命名
电脑开机断电反复重启的解决方式: 1、比较常见的系统重新启动问题就是操作系统文件遗失或者破坏。搞定方式:操作系统启动都有一个引导文件boot.ini,如果它遗
问题描述在spring-boot启动时,希望能执行相应的sql文件来初始化数据库。使用配置文件初始化数据库可以在spring-boot的配置文件applicat