Friday, November 20, 2015

Re: Mojo's maven-gwt-plugin or Thomas's maven-gwt-plugin?

@Thomas: I am surprised, that you make a maven plugin.
I can remember one of your blog posts was like "Maven is broken by design"
Then, why do you write a maven plugin? 
Did Maven improve with version 3.x, or is there just no other alternative for some reason?
What build system would you recommend for a new gwt project?

On Tuesday, 17 November 2015 11:15:47 UTC+1, Thomas Broyer wrote:

On Tuesday, November 17, 2015 at 10:11:36 AM UTC+1, Michael Zhou wrote:
I'm trying to build a Java application with GWT, using maven as the build system. I'm trying to decide which maven-gwt-plugin to use.

Major differences are:
  • Mojo's one is tied to a specific version of GWT. To get a fix for the plugin, you possibly need to update your GWT too (it's a good idea anyway, but there could be timing conflicts); and to update your GWT you might have to wait for a release of the plugin. I completely stopped maintaining Mojo's plugin and following its development so I have no idea whether there'll be a new release and when (I'm absolutely not trying to throw FUD here); all I can say is it hasn't been updated for 4 months whereas they has been some changes to GWT and more changes to come (e.g. disableCastChecking was deprecated in September, jsInteropMode default was recently changed from NONE to JS_RC, there's a patch in review that removes jsInteropMode=JS and the jsInteropMode argument will be removed entirely before 2.8.0, and there's a new generateJsInteropExports).
  • Mojo's plugin gwt:run and gwt:run-codeserver don't play well with multi-module builds. You can make them work but they need really nasty hacks in your POMs (BTW, this is a similar situation to the Jetty Maven Plugin).
  • My plugin brings in new packagings, so you have fewer things to configure.
The project's directory structure doesn't follow Maven convention, so I guess I will run into some problems with Thomas' plugin?

No you shouldn't.
All paths are configurable, and many goals (e.g. generateModule) can be skipped.
And you can also use the goals without using the gwt-lib/gwt-app packagings, just like with Mojo's plugin.

In any case, it's not hard to switch from one plugin to the other, so just pick the one you'd prefer working with.

You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
Visit this group at
For more options, visit

No comments:

Post a Comment