Pivotal最近發(fā)布了Spring Tool Suite(STS) 3.9.1,STS是基于Eclipse的IDE,用于使用Spring框架開發(fā)應(yīng)用程序。
在這個版本中,STS更新到使用Eclipse Oxygen.1a,該版本的Eclipse原生支持JDK 9和JUnit 5。
JDK 9
Eclipse的Java編譯器實現(xiàn)了所有新的Java 9語言增強功能。IDE還添加了支持Java模塊的功能,包括編譯器更新和搜索功能。
Eclipse文檔指出,要獲得Java 9的支持,不一定要使用Java 9運行時運行Eclipse。但是,編譯模塊化項目時,構(gòu)建路徑必須包含Java 9運行時。
為現(xiàn)有非模塊化的工程創(chuàng)建一個module-info.java文件可以將其轉(zhuǎn)化為模塊化的工程。
圖片來源:Eclipse文檔
庫(library)或者容器(container)可以加到模塊路徑(module path),而不是類路徑(classpath)。
圖片來源:Eclipse文檔
Java Search現(xiàn)在包含了一個Module搜索范圍。
圖片來源:Eclipse文檔
JUnit 5
根據(jù)Eclipse Oxygen.1a的文檔,Eclipse的JUnit 5支持如下:
通過New Junit Test Case向?qū)?chuàng)建新的JUnit Jupiter測試。
圖片來源:Eclipse文檔
開發(fā)人員可以添加JUnit 5庫到構(gòu)建路徑。
使用新的test_jupiter模板創(chuàng)建JUnit Jupiter測試方法。使用新的test_jupiter模板創(chuàng)建@TestFactory方法。JUnit Jupiter的Assertions、Assumptions、DynamicContainer和DynamicTest類現(xiàn)在默認(rèn)加入到了Eclipse Favorites中。在JUnit啟動配置(JUnit launch configuration)的Configure Tags處,可以提供要在測試運行中包含或從中排除的標(biāo)簽。要查看完整的功能列表,請查看Eclipse文檔。
Eclipse文檔指出,如果開發(fā)人員通過@RunWith(JUnitPlatform.class)在不支持JUnit 5的Eclipse中運行JUnit 5測試,那意味著開發(fā)人員將JUnit 4作為啟動配置中的測試運行器。要在運行測試時使用JUnit 5測試運行器創(chuàng)建新的啟動配置,開發(fā)人員應(yīng)該將測試運行器更改為JUnit 5或刪除啟動配置。
該文檔還指出:
舊版本的Eclipse(不支持JUnit 5)向新版本的Eclipse(支持JUnit 5)更新,我們不支持在其中運行測試。此外,檢出了JDT JUnit運行時包(org.eclipse.jdt.junit.runtime和org.eclipse.jdt.junit4.runtime)并且pull了最新的更新的開發(fā)人員將會遇到上述問題。建議使用新的Eclipse版本進行開發(fā)。
兼容性警告
STS包含了一個針對使用Spring Boot 1.5.x及更早版本的工程的JDK 9兼容性警告,這些版本的Spring Boot依賴一個與Java 9不兼容的構(gòu)建插件(maven build插件)。在這種情況下,STS 3.9.1文檔建議在JDK 8上運行IDE。IDE本身運行在Java 8運行時之上,但開發(fā)人員仍然可以配置Java 9 JRE,開發(fā)Java 9應(yīng)用程序。
新的代碼模板
針對元注解,例如GetMapping、PostMapping、PutMapping和DeleteMapping,添加了新的代碼模板。
圖片來源:STS文檔
其他值得注意的改進
macOS版的STS以DMG文件發(fā)布。Pivotal tc服務(wù)器更新到3.2.8版本。boot屬性文件自動轉(zhuǎn)化為YAML。Spring Cloud CLI完全由用戶驅(qū)動,而不是自動安裝。實驗階段:使用Spring Boot Thin JAR打包工具啟動boot應(yīng)用程序。根據(jù)Spring博客,STS 3.9.2計劃于2017年12月底發(fā)布,它將基于Eclipse Oxygen.2(4.7.2)。
查看英文原文:Spring Tool Suite 3.9.1 Released