使用Spring Starter更改嵌入式tomcat的版本

humbleCoder:

要求是使用spring boot版本2.2.6.RELEASE,但是tomcat版本应该是9.0.37。

我试图通过将tomcat启动器从spring-boot-starter-web依赖中排除来做到这一点,如下所示:

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${spring-boot.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

并分别添加了spring-boot-starter-tomcat具有9.0.37 tomcat版本的:

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

但是,即使这样做,该版本也不会被覆盖,并使用以下代码:

Mar 11 2020 09:31:38 UTC
Apache Tomcat/9.0.33
9.0.33.0

我们是否需要做其他任何事情来覆盖tomcat版本?是否可以通过排除启动来覆盖它?

更新:父pom是公司父pom,而不是spring-boot-starter-parent。根据答案之一,我们可以简单地覆盖tomcat.version属性,但是我的有效pom没有显示它。

斯蒂芬·尼科尔(Stephane Nicoll):

如果您不是继承人,spring-boot-starter-parent我只能猜测您将导入spring-boot-dependencies某个地方的依赖项管理。

文档介绍了覆盖tomcat版本所需执行的操作。在导入之前,每个tomcat工件应与覆盖版本一起列出spring-boot-dependencies可以在中找到工件列表spring-boot-dependencies

使用不同版本的启动器是错误的(您不能在同一应用程序中混合使用两个Spring Boot版本),并且由于依存关系管理始终处于控制状态,因此不会起作用。换句话说,您确实会获得spring-boot-starter-web版本,2.3.2.RELEASE但是它带来的所有伪像将由依赖管理(由version定义的tomcat版本2.2.6.RELEASE)管理。

在您的特定情况下,2.2.9.RELEASE也可以选择升级到,因为它可以为所需的tomcat版本提供依赖项管理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Spring Boot和嵌入式Tomcat配置此属性?

使用Spring Boot和嵌入式Tomcat启用会话持久性

如何使用嵌入式Tomcat 8和Spring Boot将子域转换为路径

嵌入式Tomcat强化-如何在Spring Boot中更改/覆盖广告服务器信息?

Spring Boot:WebServerException:无法启动嵌入式Tomcat

使用application.yml在Spring Boot中配置嵌入式Tomcat的日志记录

使用嵌入式tomcat在Spring Boot中未映射请求

Spring Boot嵌入式tomcat日志

修改Spring Boot嵌入式Tomcat提取路径

Spring Boot嵌入式Tomcat性能

嵌入式Tomcat 8.0.21中的Spring WebSocket

如何使用嵌入式Tomcat容器在Spring Boot中创建JNDI上下文

如何使用嵌入式tomcat会话集群设置Spring Boot应用程序?

在Spring Boot嵌入式Tomcat中配置maxKeepAliveRequests

将Spring Boot Weblfux与嵌入式Tomcat结合使用

使用IntelliJ部署支持嵌入式tomcat的spring-boot应用程序

如何使用gradle在Spring Boot的嵌入式tomcat中运行外部war文件?

camunda-bpm-spring-boot-starter-webapp依赖项不起作用并且嵌入式tomcat失败

如何在现有的Spring Boot应用程序中更改嵌入式tomcat的版本?

Spring Boot Jetty / tomcat嵌入式访问日志配置

使用Spring Boot在嵌入式Tomcat服务器上部署资源

使EL与嵌入式的tomcat 7配合使用(使用Spring MVC)

使用Spring嵌入式tomcat(.jar)公开资源

与 SpringBootTest 一起使用时,Spring Boot 嵌入式 Tomcat 无法启动

无法使用嵌入式 Tomcat 浏览到 Spring Boot 应用程序

使用嵌入式 tomcat 更改服务器标头

Spring Boot,无法初始化嵌入式tomcat

无法启动 bean 'webServerStartStop';无法启动嵌入式 Tomcat 服务器 - spring-boot-starter-web

Spring Boot 的嵌入式 Tomcat 忽略访问日志配置