noserver can be an option too, yes.
However, noserver has it's own issues really. First, if you create a
library that involves RPC you can't "share" it without also including
instructions and depdencies and such for others to use it. Second,
RPC testing breaks down if you use GWTTestCase and you are using
noserver.
I agree it's a pain, but personally I find munging the embedded Tomcat
to be a better option.
That's one of the reasons for the GwtWebInfProcessor in GWT-Maven
which handles all of that for you. If you have a SOURCE web.xml, it
gets included in the embedded Tomcat automatically, and so do the
dependencies needed (and also, GWT service servlets get added to your
deploy time web.xml automatically as well, if they don't already
exist). Basically it lets you have ONE web.xml, your SOURCE version,
and it gets used both in hosted mode, and when you burn a WAR.
GWT-Maven also works with noserver, but in all I prefer using it with
the embedded Tomcat, because I never have to manually muck with
anything, and it all just works.