Spring Boot 的新 Gradle 插件

工程 | Andy Wilkinson | 2017年04月05日 | ...

Spring Boot 2.0 M1 的主要主题之一是其 Gradle 插件的一系列重大改进。其中许多改进刚刚合并,并已在最新的 Spring Boot 快照中提供。距离 Spring Boot 2.0.0.M1 于 5 月初发布还有几周时间,我们希望在此之前能听到您对新插件的早期反馈。

您可以在其参考API文档中了解有关该插件功能的更多信息。

试用新插件

新插件需要 Gradle 3.4 或更高版本。与 Spring Boot 的其他部分一样,快照发布到https://repo.spring.io/libs-snapshot。使用快照最简单的方法是在 start.spring.io 上创建一个新的 Gradle 项目并选择 Spring Boot 2.0 快照。

或者,您的 build.gradle 文件应该如下所示:

buildscript {
    ext {
        springBootVersion = '2.0.0.BUILD-SNAPSHOT'
    }
    repositories {
        mavenCentral()
        maven { url 'https://repo.spring.io/libs-snapshot' }
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

构建可执行 jar 和 war 文件

bootRepackage 任务已被替换为 bootJarbootWar 任务,分别用于构建可执行 jar 和 war 文件。这两个任务都扩展了它们等效的标准 Gradle jar 或 war 任务,使您能够访问所有常规的配置选项和行为。

依赖管理

Spring Boot 的 Gradle 插件不再自动应用依赖管理插件。相反,Spring Boot 的插件现在通过导入正确版本的 spring-boot-dependencies bom 来响应应用了依赖管理插件的行为。这为您提供了更多关于如何以及何时配置依赖管理的控制权。对于大多数应用程序而言,应用依赖管理插件就足够了。

apply plugin: 'io.spring.dependency-management'

请注意,依赖管理插件仍然是 spring-boot-gradle-plugin 的传递依赖,因此无需将其列为 buildscript 配置中的 classpath 依赖项。

提供反馈

正如我上面所说,距离 Spring Boot 2.0.0.M1 发布还有几周时间,现在是尝试新插件的绝佳机会,然后请告诉我们您的想法。

该插件仍处于开发过程中。与以前的版本相比,新版本使得许多以前不可能实现的事情成为可能。此外,一些以前可能的事情现在可能不再可能,或者可能需要不同的方法。特别是,插件的 DSL 被刻意精简,只涵盖我们确定想要的功能。

如果您想讨论新功能,请在下面的评论区或Gitter上进行。如果您发现 bug 或对进一步的改进有想法,请在 GitHub 上打开一个 issue

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有