Spring Tool Suite & Groovy/Grails Tool Suite 3.4.0: New and Noteworthy

General Updates

Updated to Eclipse Kepler SR1

The main distributions are now based on the latest Eclipse Kelper SR1 release.

Easy and quick Stop and Restart

A 'Stop' and 'Restart' button have been added to the Eclipse 'Launching' toolbar. Just clicking the button applies to the last process you started. Alternatively, select a specific process from the pulldown.

Pivotal tc Server Developer Edition updated to 2.9.3

STS and GGTS now ship with the latest Pivotal tc Server Developer Edition 2.9.3.

Grails updated to 2.2.4

GGTS now ships with Grails 2.2.4.

Spring Tooling updates

New Dashboard

The distributions ship with a completely renewed dashboard. This new dashboard is designed and implemented to provide easier navigation, a better browsing experience and more direct access to the new getting started content on https://spring.io/.

If you don't like the new dashboard. You can still revert to the old dahsboard via the Dashboard Preferences page.

Please also tell us why you don't like the new dashboard by posting on the STS Forum. Eventually we will remove the old dashboard. Your feedback will help us to make sure the new dashboard is an adequate replacement.

Support for new Getting Started Guides

The dashboard welcome page provides links to useful resources on the spring website. The 'Browse Guides' link takes you to an index of Getting Started Guides on the spring.io website. The typical guide will come with sample code that can easily be imported into STS via the 'Getting Started Content' import wizard. The wizard can be opened in several ways.

Use the wizard to search getting started content by keyword, then pick a guide of your choice. You can import the code associated with the guide into the workspace as either Gradle or Maven projects. The tutorial content of the guide will open in a web browser.

New Spring Starter Project Wizard

This wizard creates a Spring Boot enabled project. Open the wizard from the menu "File >> New >> Spring Starter Project". Select some Spring Boot Starters and an app with the desired classpath elements is created. Spring Boot does the rest, configuring suitable defaults for your Spring app based on what's on the classpath.

Automatic detection for JavaConfig classes

STS 3.4.0 can now automatically detect Java types annotated with @Configuration, @Component, @Bean, @Import or @EnableAutoConfiguration and automatically add them to the Spring model as JavaConfigs. This setting can be enabled in the project properties:

Basic support of Groovy for Spring apps

STS 3.4.0 will treat annotated Groovy Config classes as though they were Java Config classes and add them to the Spring model:

Java8

Easy access to Eclipse Java 8 support (currently in beta)

The eclipse team are working hard on Java8 support and many of the proposed language features are already supported. The STS team is now building the beta versions of this support into an update site. The Java 8 support can be installed via the usual route (dashboard extensions page) or using the regular eclipse update site mechanism and this URL:


https://dist.springsource.com/snapshot/TOOLS/java8/e43


There are also complete distributions created nightly containing the Java8 feature, see the second group of downloads available here:


https://dist.springsource.com/snapshot/STS/nightly-distributions.html


With the features installed it is then possible to set a project compatibility level to 1.8 and start to explore the new language constructs. Be aware that it is important to run code compiled via this route against a compatible level of JDK8. b97 works well but can be tricky to get hold of. With b105 there are currently problems with running code using lambdas. If in any doubt what to use, ask on the tools forum, the situation changes daily (the update site is rebuilt every evening to include the latest changes).


Note: Currently this will not install into GGTS. The Java8 support is currently shipped as a feature patch for the compiler. Groovy-Eclipse also includes a feature patch for the compiler. They cannot both be installed at the same time.

Cloud Foundry Integration for Eclipse 1.5.1

1.5.1 introduces 3 new features that expand on the v2 Cloud Foundry server support added in 1.5.0.

Buildpacks

Buildpacks can now be specified when pushing an application to a Cloud Foundry server. When the deployment wizard opens after dragging and dropping an application to a Cloud Foundry server instance, the first page allows users to enter a URL to a buildpack (e.g. https://github.com/cloudfoundry/java-buildpack).

Clone Server to Target Space

It is now easier to clone an existing Cloud Foundry server instance to target another space. In either the Cloud Foundry editor "Overview" tab, or Servers View context menu, select "Clone Server". This will open a wizard that allows a user to create a new server instance to another organization or space without having to go through the New Server Wizard again.

Multiple Domains

When deploying an application, or editing the application's mapped URLs, the URL UI has been enhanced to show the host and domain components of the application's URL. A user can now select other available domains from a combo control.

AJDT

AspectJ 1.8.0.M1

The Eclipse 4.3 based distributions now include the first milestone of AspectJ 1.8. Normally the first milestone of a new major AspectJ release cannot compile source at that Java level but only weave it. However, this time the first milestone can compile Java 1.8 source code (and weave it).

Groovy-Eclipse

Groovy 2.1.6

Groovy Eclipse now supports Groovy 2.1.6 - this is installable from the dashboard.

Compiler Customizers

Groovy Eclipse, when using the 2.1.X versions of Groovy, now supports Groovy compiler customizers. They are specified by including an entry in the project .settings/org.eclipse.jdt.core.prefs:

org.eclipse.jdt.core.compiler.groovy.groovyCustomizerClassesList=pkg.MyCustomizer

The customizer must be discoverable on the project classpath. Multiple customizers can be specified - separate them with a ','. There is no UI for setting these yet.


Issues resolved in this release

Here is a full list of resolved bugs and enhancement requests for 3.4.0:

STS/GGTS issue tracker

Spring IDE issue tracker

Groovy-Eclipse issue tracker


Useful Links

Download STS: https://spring.io/tools/sts/all

Download GGTS: https://spring.io/tools/ggts/all

STS/GGTS forum: https://forum.spring.io/forum/spring-projects/springsource-tool-suite

STS/GGTS Issue tracker: https://issuetracker.springsource.com/browse/STS


Known issues in this release

Problems executing some commands with Grails 2.3

When running Grails 2.3 commands occasionaly the following error has been observed: Error java.lang.NoSuchMethodError: org.codehaus.plexus.DefaultPlexusContainer.lookup(Ljava/lang/Class;)Ljava/lang/Object;. After that the external Grails process will be in a confused state. To recover from this problem the process must be terminated. This can be done in a number of ways:

  • Restart GGTS
  • Open the Grails Launch preferences page and disable the 'Keep External Grails Process Running' option. Apply the change. This will terminate the process. You can then re-enable the option.
  • Run a command on another Grails project.
  • Use your operating system to kill the process from the command line. The process will be called 'GrailsStarter'.

For additonal information see STS-3577


JDK 7u40 incompatibility

The incompatibility between JDK 7u40 and the extension install (was a problem in STS 3.4.0.M1 and previous versions) is fixed: https://bugs.eclipse.org/bugs/show_bug.cgi?id=417043. Unfortunately the same issue still exists for the m2e connector discovery, which is still broken when running on JDK 7u40: https://bugs.eclipse.org/bugs/show_bug.cgi?id=417458. But it looks like this issue will also be fixed in JDK 7u45, 7u51, and 8: https://bugs.openjdk.java.net/browse/JDK-8025128.


Groovy-Eclipse not updated to Eclipse Kepler SR1 yet

The Groovy-Eclipse version that ships with GGTS 3.4.0 is still built on top of the JDT core implementation of Eclipse Kepler and isn't updated to Eclipse Kepler SR1 yet. Therefore running GGTS 3.4.0 or installing Groovy-Eclipse into STS 3.4.0 results in running with the JDT core implementation of the Eclipse Kepler release that does not contain the latest bugfixes of the Eclipse Kepler SR1 release.


Issues with new dashboard on Windows and Eclipse 3.7

We observed a few minor issues when using the new dashboard on Windows when running STS on an Eclipse 3.7 base: switching between the tabs of the new dashboard causes the welcome page to not show any content anymore and clicking on "import guides" doesn't open the corresponding wizard. As a workaround, you can switch back to the old dashboard (in the dashboard preferences) and you can activate the wizard for the new Spring guides using the "Import..." context menu action.


STS/GGTS doesn't work behind proxy server with NTLM authentication

Users are reporting that using STS/GGTS behind a proxy server that uses NTLM for authentication doesn't work. STS/GGTS cannot connect to the internet anymore, even if the proxy server is configured correctly in the Eclipse network preferences. In addition to that installing STS/GGTS into an existing Eclipse causes the same problem. In that case uninstalling STS/GGTS from Eclipse fixes the problem.


We track this issue here: https://issuetracker.springsource.com/browse/STS-3647


Update: The root cause of the issue is localized and fixed in the recent nightly builds of STS. In case you are facing this issue, please update your STS/GGTS installation by using a nightly distribution build (available from: https://dist.springsource.com/snapshot/STS/nightly-distributions.html) or by installing the STS/GGTS components from the nightly update site (also listed on the nightly distribution download page) into a fresh Eclipse installation.


Spring Roo 1.2.4 issue when using GWT add-on in combination with java.lang.Float or java.lang.Byte

There was a bug reported against Spring Roo 1.2.4 about a problem when using the GWT support together with java.lang.Float (or Byte) field types. In case we hit this issue we recommend to download and use Spring Roo 1.2.3. You can configure the Spring Roo runtime that STS should use in the preferences (Preferences -> Spring -> Roo support).


The issue in Roo is tracked here: https://jira.springsource.org/browse/ROO-3466


Other

The known issues from the previous 3.3.0 release are fixed in 3.4.0.


New and Noteworthy for previous releases

STS/GGTS 3.3.0

STS/GGTS 3.2.0

STS/GGTS 3.1.0

STS/GGTS 3.0.0

STS 2.9.2

STS 2.8.1

STS 2.7.2

STS 2.6.1.SR1

STS 2.5.2.SR1