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文件可以将其转化为模块化的工程。

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

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

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

开发人员可以添加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)。