Updates and New/Enhanced Features
Eclipse 2019-03 (4.11)
The default STS distribution is now based on the recently released Eclipse 2019-03 (4.11) release, including support for JUnit 5.4. Details about the Eclipse release can be found here: Eclipse 2019-03. Support for Java12 is also ready and can be installed as an add-on via the Eclipse Marketplace: Java12 Support for Eclipse 2019-03
Quick Text Search improvements
Quicktext search dialog can be switched to non-modal:
Quicktest search allows filtering searched files by path or file name using 'glob' pattern matching:
Boot Dashboard Properties view enhancements to live beans tab
Boot Dashboard Properties view includes various enhancements to the live beans tab. Open the Eclipse Properties view and select a running application in Boot Dashboard with actuator endpoint and JMX enabled. Among the improvements in the "Beans" tab are:
Boot Dashboard Properties view now includes a live environment values tab
Boot Dashboard Properties view now includes a new "Env" tab that shows live Spring Boot environment values from sources like command line args, properties files, and system properties. To access the "Env" tab, open the Eclipse Properties view and select a running application in Boot Dashboard with actuator endpoint and JMX enabled. The environment properties and values are also searchable.
Important Changes and Fixes
Issues now tracked on GitHub Issues
Issues around the Spring Tool Suite and the Spring IDE are tracked on GitHub from now on: https://github.com/spring-projects/spring-ide/issues.
Thanks for using the automatic error reporting - retiring it now
We would also like to thank our users for using the automated error reporting that we included since the 3.8.2 release and for sending us all those error reports. We used them to fix issues and improve reliability in this release.
From now on, the can't continue to use the automatic error reporting (due to its infrastructure not being around anymore by the end of March 2019). Therefore we updated the configuration to not send any error report data anymore to those servers.
For existing installations, we are doing two different things:
Manual Maven support going to be removed soon
We plan to remove the support for manual Maven projects from STS and Spring IDE in future versions of STS and Spring IDE. The manual maven support was used in the past when projects used Maven, but didn't opt-in to use the direct Maven support in Eclipse via the m2e project. While projects can still decide to not use m2e for their projects, the support for that via additional menu actions in STS will be gone.
Download STS: https://spring.io/tools3/sts/all
Spring Tools Issue tracker: https://github.com/spring-projects/spring-ide/issues
The new buildpacks attribute in manifest.yml files is not yet supported when deploying apps via the Spring Boot dashboard within STS. A dialog will pop up and warn you about this limitation in case you run into this situation. As a workaround, you can push your apps via the CF CLI or continue to use the deprecated buildpack attribute.
Deleting certain Eureka service instances, like p-service-registry in Pivotal Web Services, from boot dashboard Cloud Foundry targets may experience problems with timeouts. The same issue may be found when deleting them from Eclipse Tools for Cloud Foundry (CFT). A workaround is to use the cf CLI to delete these service instances.
STS 3.9.8 can run on top of a JDK out-of-the-box. However, please notice that the Maven support in Eclipse/STS runs within the JVM of the IDE and therefore also uses the JDK9/10 runtime. While that isn't necessarily a problem, having Maven modules in your build that aren't compatible with Java 9 might cause your project build to fail in Eclipse/STS.
This is the case, for example, if you use Spring Boot 1.5.x or earlier versions, which uses an older version of the Maven jar plugin, which fails when running on top of a Java 9/10/11 VM. In that case we recommend to configure Eclipse/STS to run on top of a Java 8 runtime (by modifying the eclipse.ini or sts.ini file accordingyly).
The Spring Boot Dashboards ngrok tunnel feature doesn't work yet with remote service registries from Spring Cloud Services. Instead it works with self-deployed Eureka service registry apps on CF only (as described here). We are working on enhancing the ngrok tunnel feature to directly support Spring Cloud Services in the near future. In the meantime we published a tech note that describes how to setup ngrok tunneling in combination with SCS manually.
Workaround is open launch configuration for the Boot App. Navigate to Spring Boot tab and enter a boot property into "Override Properties" table. For example
server.port and value
8080. Save the launch configuration and re-launch your Boot App.
STS 3.9.8 requires a JDK8/9/10/11 to run on top of. If you are running it with an older JDK this may not be immediatlely apparant, but some of STS functionality will simply be 'absent' because the corresponding plugins are automatically disabled by OSGI because their requirements are not satisfied at runtime. See also below 'Setting the JDK'.
STS 3.9.8 requires a JDK8/9/10/11 to run on top of. Nevertheless the native Eclipse launcher component might pick up a JRE or an older JDK automatically if you don't specify which JDK to run STS on top of. To avoid this, you can specify the JDK in the sts.ini file that comes with your STS installation. Add a line at the beginning "-vm" and an additional line below that which points to the "javaw" executable of the JDK on your machine. Here is a detailed explanation how to configure the JVM in the ini file.