Skip to content

Known Limitations & Issues

Martin Lippert edited this page Sep 15, 2020 · 9 revisions

Known limitations

  • Spring Integration namespaces not resolved correctly (since Spring Tools 4.8.0 release)

    • Due to the introduction of Wild Web Developer components to the default distribution package, you might hit a wrong error message when working with Spring Integration XML config files in your projects. This is caused by the project-related XSD namespace solution mechanism not yet being ported to the new XML tooling of the Wild Web Developer package. Therefore the XML language server which is embedded in there creates a wrong error message in certain cases. While we are working on porting the project-related XSD namespace resolution mechanism to this new context, you can workaround this issue by disabling the XML language server in the preferences. The details of this are described here: https://github.com/spring-projects/sts4/issues/447
  • JDK8 required instead of a JRE8

    • Some features of the tooling (e.g. the live hover information) require you to run the tooling on top of a JDK instead of a JRE. In case you are running your tooling on a JDK8, please take care to configure your Spring Tools 4 Eclipse installation with a JDK instead of a JRE. You can find the instructions here: https://wiki.eclipse.org/Eclipse.ini. Note: this requirement can be satisfied by pointing at a jre-subdirectory that is nested inside of a jdk installation (this is a typical situation for JDK 8 installations and STS is able to recognize this and select the corresponding/surrounding JDK automatically in this case. If in doubt whether the requirement is satisfied consider this. STS Eclipse, when launching the language server will check if the JDK requirement is satisfied. A clear error/warning popup is shown if no suitable JDK is found. The warning clearly explains this and provides details about where exactly we looked for a JDK. Therefore, if you see that the language server is running and you did not see the warning popup, then you can assume STS found a suitable JDK. For further troubleshooting it may also be helpful to enable log output via "Preferences >> Language Servers >> Spring Lanuage Servers".
    • the same applies to the spring-boot extension for Visual Studio Code. If a suitable JDK is not automatically detected by our launcher, it will issue an error message. You can bypass this by setting a property spring-boot.ls.java.home in your workspace or user settings (i.e. your vscode settings.json file).
    • when running on JDK11 or beyond, there is no need anymore to specifically configure a JDK instead of a JRE due to the specific classes being automatically loaded via the module mechanism of the JDK.
  • Windows

    • If "Live Boot Hints" not showing up when they are supposed to check if <User-Temp-Folder> has file hsperf-<username>. If yes, delete this file and restart your boot app and STS4 (Eclipse, VSCode or Atom).
  • Lombok

    • The Lombok installer doesn't know about the changed name of the STS4 executable and therefore doesn't find it. Nevertheless you can install Lombok manually by modifying the SpringTools4.ini file yourself.
  • Live Hovers not showing up

    • make sure the Spring Boot Actuators are on the classpath (add the Maven dependency, if necessary)
    • make sure your project is either Boot 1.5.x or higher
    • make sure you run on a JDK, not a JRE (see above)
    • there are some network configuration cases that prevent the language server from connecting to the running Spring Boot application via JMX. In that case, add -Djava.rmi.server.hostname=localhost to the VM arguments when starting up your Spring Boot app.
    • On Windows... it is fairly common for the folder at %TMP%\hsperf-%USERNAM% to get wrong permissions, especially if you recently installed / reinstalled or updated your JDK. To fix this, simply delete the folder and restart your Boot app and STS 4 (Eclipse, VSCode or Theia). The next java process you start should recreate the folder with correct permissions.
Clone this wiki locally