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>
    

    这块配置就是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>
    

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

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

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

    添加这个之后,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
    

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

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

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

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
修改Spring Boot默认的内置Tomcat服务器配置,可以通过以下步骤进行操作: 1. 在pom.xml中添加对Tomcat嵌入式库的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 排除Spring Boot默认的Tomcat依赖 --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>9.0.0.M13</version> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>9.0.0.M13</version> </dependency> ``` 在以上依赖中,排除了Spring Boot默认的Tomcat依赖,并添加了Tomcat嵌入式库的依赖。 2. 创建一个实现EmbeddedServletContainerFactory接口的类,用于配置Tomcat服务器: ```java @Configuration public class TomcatConfig { @Bean public EmbeddedServletContainerFactory servletContainerFactory() { TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); factory.setPort(8080); factory.setSessionTimeout(30, TimeUnit.MINUTES); factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html")); factory.addConnectorCustomizers(connector -> { Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); protocol.setMaxConnections(2000); protocol.setMaxThreads(2000); protocol.setConnectionTimeout(30000); }); return factory; } } ``` 在以上配置类中,设置了Tomcat服务器的端口号、会话超时时间、错误页面和连接器定制器等属性。 3. 运行Spring Boot应用程序,验证是否成功修改Tomcat服务器的配置。 通过以上步骤,可以方便地修改Spring Boot默认的内置Tomcat服务器配置,以满足应用程序的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值