Right. The reason for the prefix is that when the GWT classes are
built, they will go into:
target/webapp/ModuleName/*
This is just the default GWT compiler behavior, but it has secondary
advantages I talked about in the other thread going on here about
module prefix directories. Basically it works like this:
When your module is built, that "ModuleName" folder in front of
everything becomes the GWT.getModuleBaseURL() (I think that is the
name). You can then prepend that into the URLs for your service stubs
and they will work end to end. This can be a little confusing in the
GWTShell because your MySQLConnService in the shell will answer on
BOTH "/MySQLConnService" AND
"com.tribling.gwt.test.mysqlconn.server.MySQLConnServiceImpl/com.tribling.gwt.test.mysqlconn.MySQLConn/MySQLConnService"
However, since the war will usually have a context path in front of
it, using the full version so that the Module Base URL in your
compiled GWT code contains the context path is handy. That is, that
servlet mapping, when running, will make getModuleBaseURL() return:
http://localhost:8080/artifactId/com.tribling.gwt.test.mysqlconn.server.MySQLConnServiceImpl/com.tribling.gwt.test.mysqlconn.MySQLConn/MySQLConnService
which should be a valid URL. Also, if you are building multiple
modules into the same WAR file, this prevents collisions.
As for checking the path for the pom file, no. That META-INF/maven
directory only gets built into JAR files. When you build a WAR file,
it doesn't go into the WEB-INF/classes directory by default. You could
use an antrun goal to copy it there if you need it for your code to
run properly, however.