Archiv der Kategorie: GWT

The future of GWT and web development

Vaadin is actually hosting a purely GWT focussed, not the first one, but it is a long time since we had a GWT conference, and Joonas (from Vaadin) shared some stats: we have 600+ attendees in San Francisco and in Frankfurt together, Frankfurt being sold out.

Ray Cromwell just held the keynote on the gwt.create conference in San Francisco and shared some quite interesting insights on where GWT has come from and how it is moving forward.

While GWT has it’s roots in a time where JavaScript VMs where slow and incompatible, the current state of the browsers and their JVMs is quite different.


So the main challenge in web development changed, and GWT being used so widely at Google, will move forward as well. While speed is going to improve further (Google is still working very hard on the compiler, improving split point generation, fully integration of the closure compiler and much more), the main magic (from my personal view) is happening in the JS inter-operation.

There are really many powerful JS libraries, and modern web development uses them all. The GWT team is working on seamless integration of JS libraries, from lightweight wrappers (say goodbye to JSNI and overlay types) to zero effort JS interop, where the required Java interfaces get generated auto-magically for the JS libraries you drop into your project. And best of all – those libraries should be used un-minified in development and will be parsed by the GWT compiler and get all the optimizations the GWt complier is great at. This means that you can drop the complete jQuery library into you project, but only the JS you use will find its way into your application.

The next major GWT release is expected to come mid 2014 with full Java 8 support and hopefully a bunch of the new magic demoed today.

GPE, eclipse and maven never ending story. Done.

I don’t know how many times I had to start over and over again, searching for the latest versions, searching for „how to make“ the Google Eclipse Plugin, eclipse and maven work together.

The problem is: too many tools that don’t seem to like each other fighting over project layout and classpath. Java EE packaging specs and GWT specialities coming from DevMode don’t really make things easier. If you were not a pro in all of this, you ended up with a mess. I have seen it too often.

Since m2e integration things started getting better. And finally, using recent versions from the following official update sites, it started working flawlessly. Even the DevMode/ classpath issue that made us patch the Jetty launcher past year is solved!

I’ll try to keep this posting here up-to-date, so you won’t have to read through all the docs, tips, tricks comments from here and here again and again.

What you need:

  • m2e – maven integration for eclipse
  • m2e-wtp – maven Integration for WTP

I am using the latest stable releases from Well, not always, I am going as stable as possible: the actual wtp integration is still in incubation… but works…

Talking numbers, this are the version numbers I used here:

  • m2e – Maven Integration for Eclipse
  • m2e-wtp – Maven Integration for WTP (Incubation)
  • m2e connector for mavenarchiver pom properties

I have installed a few m2e connectors I required for other non GWT projects, I think they are not needed for a GWT project. Just for the curious:

M2E connectors are a bridge between Maven and Eclipse. When a maven plugin is bound to a lifecycle phase like generate-sources, or process-sources it becomes a part of Eclipse build. (source)

Don’t use the archetype. And if you do, remove the maven-war-plugin plugin. I am using the copyWebapp configuration option in the gwt-maven-plugin to copy the

stuff into the folder used by the DevMode and build system located at 


By the way, defaults work fine now, there is no need to setup/ fix the path configs for the plugin anymore. If you use M2E to update the project configuration things will work.

If you are sure your config is right, and you are absolutely sure you have at least the versions mentioned above, try killing your eclipse config with

This will leave you with a completely missconfigured project in eclipse. Let m2e update the project again. Sometimes I get the error that m2e did fail setting up the project description. Ignore it, do it again.