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

时间:2018-03-09 11:01:53

标签: tomcat spring-boot embedded-tomcat-8

我目前正在使用嵌入式tomcat运行spring-boot version 1.4.0.RELEASE应用程序。包含Tomcat的版本为8.5.4

需要将tomcat版本更新为9.x。当我查看mvnrepository here时,我发现tomcat版本9.0.5有更新可用(如下图所示)

enter image description here

如果我的pom.xml无法直接提及此版本,我应该如何在我的项目中使用此版本?

我不想采用传统的部署路线(外部tomcats上的WAR工件)。

3 个答案:

答案 0 :(得分:2)

如果您正在使用spring boot gradle插件和spring boot starters ..您可以通过在build.gradle中设置maven项目属性来自定义版本。

ext['tomcat.version'] = '8.5.34'

您可以在spring-boot-dependencies

中找到所有可以自定义的外部依赖项

答案 1 :(得分:1)

我认识的那个聚会的晚会,正在寻找一个类似的问题,以为我会分享一个更真实的提示。

您需要覆盖spring的父pom中设置的属性以适合您的情况(以及兼容性):

<properties>
......
    <tomcat.version>9.0.5</tomcat.version>
......
<properties>

这是根据Introduction to Spring得出的。他们的示例显示了许多其他依赖项。

答案 2 :(得分:0)

对于 Maven 项目

<properties>
  ...
  <tomcat.version>8.0.53</tomcat.version>
</properties>

<dependencyManagement>
        <dependencies>
         <!-- NON-INFORMATIVE -->
         <!--   <dependency>
                <groupId>io.spring.platform</groupId>
                <artifactId>platform-bom</artifactId>
                <version>${bom.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>   -->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-el</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>