Skip to content

Installation

Martin Lippert edited this page Jan 7, 2026 · 114 revisions

Spring Tools for Visual Studio Code

Install from the Visual Studio Marketplace (from inside of the extension tab in Visual Studio Code):

Spring Tools for Cursor, Antigravity, and Theia

Install from the Open VSX marketaplce (from inside of the extension tab in Cursor, Antigravity, or Theia):

Spring Tools for Eclipse

Spring Tools for Eclipse - as ready-to-use distribution package

Spring Tools for Eclipse - installation as an add-on into an existing Eclipse (via the Marketplace)

You can install Spring Tools into your existing Eclipse installation using the Eclipse Marketplace. Search for "Spring Tools" and install:

Spring Tools for Eclipse - installation as an add-on into an existing Eclipse (manually via Install New Software in Eclipse)

Go to Help -> Install New Software and paste this repository URL into the dialog:

Select the main features you wish to install and proceed. The standard set of features is this:

For the reference, the feature IDs are:

  • org.springframework.boot.ide.main.feature
  • org.springframework.tooling.boot.ls.feature
  • org.springframework.ide.eclipse.boot.dash.feature
  • org.springframework.ide.eclipse.xml.namespaces.feature

There are some additional features provided as part of the update site that you can install if you would like to use them:

  • org.springframework.tooling.cloudfoundry.manifest.ls.feature: providing editor support for CloudFoundry Manifest files
  • org.springframework.tooling.bosh.ls.feature: providing editor support for CloudFoundry BOSH config files
  • org.springframework.tooling.concourse.ls.feature: prodiving editor support for Concourse CI config files

In addition, there are specific p2 repositories for specific versions of Eclipse, in case you don't use the latest Eclipse release:

These p2 repository URLs always point at the latest Spring Tools release for the related Eclipse version.

Snapshot builds

We provide up-to-date snapshot builds of the Spring Tools for Visual Studio Code, Cursor, and Theia via corresponding marketplaces. Selecting the installed extension in your environment reveals a button "switch to pre-release", which then downloads and installs the latest snapshot build.

You can also download the latest builds for Visual Studio Code, Cursor, and Theia as .vsix file and install it manually into your environment. The VSIX files are available from:

https://cdn.spring.io/spring-tools/snapshot/nightly-distributions.html

There, you can also find the latest snapshot builds as full distribution builds for the various Eclipse base versions as well as p2 update site URLs for those snapshot builds.

Configuring the internal JDK

The Spring Tools contain an isolated component that runs in a separate process and provides most of the services that the Spring Tools add to their environment. This separate process is a so-called "language server", it uses the Language Server Protocol to communicate with the surrounding editors and IDEs.

This language server itself is written in Java and requires a JRE to run. In most cases, the JRE to run this separate process will be the same JRE that is used to either run the IDE (for the Eclipse case) or the JRE that is used to run the Java language server from the Java Language Tooling Extension (in the VSCode case).

In case the tooling can't identify those JREs, it looks in these places and uses the first java executable found to run this process:

  • the location configured via ${language-server-name}.ls.java.homesettings. Where ${language-server-name} is one of spring-boot, concourse, cloudfoundry-manifest or bosh. This setting is specific fora particular language server and only affects how that server launches.
  • the location in JAVA_HOME environment variable
  • a java executable in the PATH

It is possible to use the Spring Boot and Java tooling with projects that require older JRE to compile and run since the JRE used for this purpose is independent of the JRE used to launch the language server itself. The best way to configure the JRE for the language server independently is to set ${language-server-name}.ls.java.home in vscode's user or workspace settings - in case the tooling can't identify the correct JRE automatically.

Clone this wiki locally