Monday, February 25, 2013

Re: [POLL] Maven project layout, what to "standardize"?

I think a major goal should be to cooperate with other container plugins, specifically Jetty.  I've been struggling with getting the Jetty plugin to fully cooperate w/ the gwt plugin and am astounded at how hard it is to:

1. Get my server code to be updated without a server restart (if the compiled code goes in WEB-INF/classes, just bouncing the webapp is enough.
2. Running in dev mode w/o having to do a compile to get the code in the right place in the exploded src/main/webapp directory
3. Start the jetty container w/ also doing a gwt compile (it should just compile the server side code)

I'd like to see an option in the GWT plugin where it runs much like it does with the GWT embedded jetty but with the jetty maven plugin instead.  

Why do I want the jetty plugin instead of the embedded jetty:
1. I get a later version of Jetty
2. I can customize Jetty more easily (authentication, jdbc, etc)
3. I can control the startup of Jetty more easily
4. I can use the same mvn to run and control a production version of Jetty

On Tuesday, November 13, 2012 6:51:37 AM UTC-6, Thomas Broyer wrote:
Hi all,

As some of view may already know, I'm porting GWT to use Maven as the build system (instead of Ant). I'm also about to "reboot" GWT+Maven integration (more to come by the end of the week, stay tuned).

As part of this effort, I'm wondering which project structure to use as the default, "standard" layout for GWT projects using Maven? I'm particularly looking for advice/preferences for GWT library projects (such as GWT itself, mgwt, Errai, GXT, etc.), not much for GWT applications (the one you run the GWT Compiler on).

NOTE: this poll is cross-posted to the GWT and gwt-maven-plugin groups, please answer only once! (wherever you want)

The question is about where to put files such as: GWT module descriptors (*.gwt.xml), GWT "processed resources" (*.ui.xml, etc.), and super-sources.
It comes without saying (for me at least) that Java sources would go into src/main/java and "public resources" (i.e. the things within **/public/**, e.g. the CSS and image files from the themes) into src/main/resources, so the "everything" below only refers to those other files listed above.
Remember I'm only interested in defining the "standard layout" for GWT libraries, and please think about them as GWT-only libraries, not the kind with server-side and client/server-shared code!
Note that in any case, src/main/java is also added as a resource folder (packaged within the JAR)

Here are the alternatives I thought about:
  1. everything in src/main/java
    super-sources in src/main/resources
  2. everything in src/main/resources
  3. everything in src/main/resources
    super-sources in src/main/super (or gwt-super, or some other name, let's discuss that later as I suspect it's a bikeshed)
When casting your vote, do not hesitate to explain why you prefer that particular layout over the others, or why you don't like one of the proposed layouts. Also feel free to propose a fourth alternative.

You received this message because you are subscribed to the Google Groups "Google Web Toolkit" 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