Blog

Vaadin 8 and Java 9

By  
Henri Muurimaa
·
On Sep 27, 2017 6:23:00 AM
·

As you undoubtedly know, Oracle just announced the general availability of Java 9. It contains tons of exciting new features, and you might be itching to test drive it with your Vaadin application.

The server side aspects of Vaadin Framework work flawlessly with Java 9 today. If your app doesn’t use Vaadin add-ons, you can fire up your app on a Java 9 JVM and everything just works.

However, if your app does use add-ons you will notice that compiling your widgetset is not yet supported with Java 9. The reason is a slight incompatibility between Java 9 and the GWT version we use to compile app-specific client side modifications into JavaScript. There is a fix but it has not landed in a release yet. We don’t want to depend on a snapshot, so we will release a maintenance version as soon as a fixed GWT release hits the internet.

As a workaround, if you are using add-ons from Vaadin Directory, you can use our cloud service that will compile application widgetsets on demand. It is very easy to use, please see the blog post above for details and instructions.

If you are using other add-ons or custom client side extensions you can use a snapshot version of the GWT compiler. To do this you need to add the following to your pom.xml:

<repositories>
...
  <repository>
    <id>gwt.snapshots</id>
    <name>GWT Development Snapshot Repository</name>
    <url>https://oss.sonatype.org/content/repositories/google-snapshots/</url>
    <releases>
      <enabled>false</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-dev</artifactId>
  <version>HEAD-SNAPSHOT</version>
  <scope>provided</scope>
</dependency>

We apologize for the inconvenience.

P.S. We are on the verge of announcing something big. Stay tuned for news from JavaOne next week!

Henri Muurimaa
As the SVP of Product Development Henri helps the Vaadin R&D teams to build the awesome Vaadin products you know and love. His personal interest du jour is making it easier to use web components with Scala.js.
Other posts by Henri Muurimaa