Spring Boot Gradle Tomcat 8

cra*_*der 7 tomcat gradle spring-boot

Spring Boot参考指南提供了通过在Maven中设置自定义属性来升级到Tomcat 8的说明:

<properties>
  <tomcat.version>8.0.3</tomcat.version>
</properties>
Run Code Online (Sandbox Code Playgroud)

在Gradle构建中执行相同操作的等效方法是什么?

我试过以下无济于事.它在应用启动时保留在7.0.52版本上.

buildscript {
  ...    
  ext['tomcat.version'] = '8.0.3'
  ...
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*yer 5

Gradle 没有等效的“父 pom”,因此您必须明确地调用依赖项。因为它很时髦,你可以通过编程来完成,比如:

configurations.all {
  resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    if (details.requested.group == 'org.apache.tomcat.embed') {
        details.useVersion '8.0.3'
    }
  }
}  
Run Code Online (Sandbox Code Playgroud)

我们可以为 Spring Boot Gradle 插件添加一些对版本属性的支持(请随意在 github 中打开一个问题),但它可能必须是可选的。