Pivotal 最近发布了 Spring Tool Suite (STS) 3.9.1,STS 是基于 Eclipse 的 IDE,用于使用 Spring 框架开发应用程序。
在这个版本中,STS 更新到使用 Eclipse Oxygen.1a ,该版本的 Eclipse 原生支持 JDK 9 和 JUnit 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 的
Assertions
、Assumptions
、DynamicContainer
和DynamicTest
类现在默认加入到了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.runtime
和org.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 应用程序。
新的代码模板
针对元注解,例如 GetMapping
、PostMapping
、PutMapping
和DeleteMapping
,添加了新的代码模板。
图片来源: 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
评论