当前位置: 首页 > news >正文

springboot 查看和修改内置 tomcat 版本

  1. 解析Spring Boot父级依赖
    去到项目的根pom文件中,找到parent依赖:

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>${springboot.version}</version><type>pom</type><scope>import</scope></dependency>
    1234567
    

    这块配置就是Spring Boot父级依赖,有了这个,当前的项目就是Spring Boot项目了,spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,可以查看当前用的springboot版本对应的pom文件:/Users/mac/MavenRepo/org/springframework/boot/spring-boot-dependencies/2.1.0.RELEASE/spring-boot-dependencies-2.1.0.RELEASE.pom

  2. 打开这个pom文件,搜索 tomcat.version

    <tomcat.version>9.0.12</tomcat.version>
    1
    

    可以查看到我们使用的tomcat版本为9.0.12。
    ①可以直接在这里修改你想要的tomcat版本

    ②在你自己的项目的pom里面添加版本,就可以直接覆盖这里的版本了。如:

    <properties>	<tomcat.version>10.0.0</tomcat.version>
    </properties>
    123
    

    添加这个之后,spingboot的默认启动的tomcat版本就可以达到你自己需要的了。到这里基本就完成了。

    但是有时候启动会报错:

    Caused by: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
    at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:169)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134)
    ... 13 common frames omitted
    123456
    

    因为这个时候的tocmat缺少jar包,maven项目的话加上下面这个依赖就好了:

    <dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-juli</artifactId><version>${tomcat.version}</version></dependency>
    12345
    

    tomcat 9.0 官方说明文档:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html

转载至:https://blog.csdn.net/iamlihongwei/article/details/101759986

http://www.lryc.cn/news/320494.html

相关文章:

  • 003——移植鸿蒙
  • 罗马数字转整数-力扣通过自己编译器编译
  • 深入解析JVM加载机制
  • python redis中blpop和lpop的区别
  • 第四百一十回
  • 程序员的README——编写可维护的代码(一)
  • 数据库管理-第160期 Oracle Vector DB AI-11(20240312)
  • (C++进阶)boost库笔记
  • MapReduce面试重点
  • C语言简单题(7)从主函数中输入10个等长字符串,用一个函数对他们排序,然后在主函数输出这10个已排好序的字符串
  • 光伏科普|太阳能光伏发电应用场景有哪些?
  • Go 构建高效的二叉搜索树联系簿
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的交通信号灯识别系统(深度学习+UI界面+训练数据集+Python代码)
  • 以太坊开发学习-solidity(三)函数类型
  • 教你把公司吃干抹净、榨干带走
  • 开发指南007-导出Excel
  • 滑块验证码
  • cmd常用指令
  • 【嵌入式DIY实例】-DIY手势识别和颜色识别(基于APDS9960)
  • python 直方图
  • 如何在数据库中使用sql语言插入数据
  • JVM的双亲委派模型和垃圾回收机制
  • ThreadLocal-内存泄露问题
  • ISIS默认层级实验简述
  • 在Flutter中创建自定义的左对齐TabBar组件
  • 【Python】继承会遇到的问题
  • 相机模型Omnidirectional Camera(全方位摄像机)
  • 论文阅读——Align before Fuse
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Rating)
  • Unity中的网格创建和曲线变形