Spring Tool Suite 3.9.1 发布了

  • Amit K Gupta
  • 王纯超

2017 年 11 月 6 日

话题:JavaDevOps语言 & 开发架构

Pivotal最近发布了Spring Tool Suite(STS) 3.9.1,STS 是基于Eclipse的 IDE,用于使用 Spring 框架开发应用程序。

在这个版本中,STS 更新到使用Eclipse Oxygen.1a,该版本的 Eclipse 原生支持JDK 9JUnit 5

JDK 9

Eclipse 的 Java 编译器实现了所有新的 Java 9语言增强功能。IDE 还添加了支持 Java 模块的功能,包括编译器更新和搜索功能。

Eclipse文档指出,要获得 Java 9 的支持,不一定要使用 Java 9 运行时运行 Eclipse。但是,编译模块化项目时,构建路径必须包含 Java 9 运行时。

为现有非模块化的工程创建一个 module-info.java 文件可以将其转化为模块化的工程。

图片来源:Eclipse 文档

库(library)或者容器(container)可以加到模块路径(module path),而不是类路径(classpath)。

图片来源:Eclipse 文档

Java Search 现在包含了一个 Module 搜索范围。

图片来源:Eclipse 文档

JUnit 5

根据Eclipse Oxygen.1a的文档,Eclipse 的JUnit 5 支持如下:

  • 通过New Junit Test Case向导创建新的 JUnit Jupiter 测试。

    图片来源:Eclipse 文档

  • 开发人员可以添加 JUnit 5 库到构建路径。

  • 使用新的test_jupiter模板创建 JUnit Jupiter 测试方法。
  • 使用新的test_jupiter模板创建@TestFactory方法。
  • JUnit Jupiter 的AssertionsAssumptionsDynamicContainerDynamicTest类现在默认加入到了Eclipse Favorites中。
  • 在 JUnit 启动配置(JUnit launch configuration)的Configure Tags处,可以提供要在测试运行中包含或从中排除的标签。

要查看完整的功能列表,请查看Eclipse 文档

Eclipse文档指出,如果开发人员通过@RunWith(JUnitPlatform.class)在不支持 JUnit 5 的 Eclipse 中运行 JUnit 5 测试,那意味着开发人员将 JUnit 4 作为启动配置中的测试运行器。要在运行测试时使用 JUnit 5 测试运行器创建新的启动配置,开发人员应该将测试运行器更改为 JUnit 5 或删除启动配置。

文档还指出:

旧版本的 Eclipse(不支持 JUnit 5)向新版本的 Eclipse(支持 JUnit 5)更新,我们不支持在其中运行测试。此外,检出了 JDT JUnit 运行时包(org.eclipse.jdt.junit.runtimeorg.eclipse.jdt.junit4.runtime)并且 pull 了最新的更新的开发人员将会遇到上述问题。建议使用新的 Eclipse 版本进行开发。

兼容性警告

STS 包含了一个针对使用 Spring Boot 1.5.x 及更早版本的工程的 JDK 9 兼容性警告,这些版本的 Spring Boot 依赖一个与 Java 9 不兼容的构建插件(maven build 插件)。在这种情况下,STS 3.9.1文档建议在 JDK 8 上运行 IDE。IDE 本身运行在 Java 8 运行时之上,但开发人员仍然可以配置 Java 9 JRE,开发 Java 9 应用程序。

新的代码模板

针对元注解,例如GetMappingPostMappingPutMappingDeleteMapping,添加了新的代码模板。

图片来源:STS 文档

其他值得注意的改进

  • macOS 版的 STS 以 DMG 文件发布。
  • Pivotal tc 服务器更新到 3.2.8 版本。
  • boot 属性文件自动转化为 YAML。
  • Spring Cloud CLI 完全由用户驱动,而不是自动安装。
  • 实验阶段:使用 Spring Boot Thin JAR 打包工具启动 boot 应用程序。

根据 Spring博客,STS 3.9.2 计划于 2017 年 12 月底发布,它将基于 Eclipse Oxygen.2(4.7.2)。

查看英文原文:Spring Tool Suite 3.9.1 Released

JavaDevOps语言 & 开发架构