I had this problem some months ago.
I had several pages in the same project (GWT 1.4), sharing services,
code and images.
The first approach was to create several modules, but each module had
to be compiled separately.
The problem was that the whole compilation took num-modules times more
than a single compilation.
And the static contents (/public folder) were repeated num-modules
times.
Finally I moved to a single module approach with several EntryPoints.
Each EntryPoint had a 'name' (Java constant): "Module1",
"Module2", ....
And each HTML page had a corresponding title: "Module1",
"Module2", ...
When opening an HTML page, all the EntryPoints are fired and each of
them checks the HTML title against its name, and only the EntryPoint
associated with the page begins to generate its panels.
With a bit of OOP it's easy to implement.
This was the only solution I found in case of:
- several HTMLs, each for one specific form
- almost all the code and images shared between forms
And the benefits:
- Only 1 compilation (4 minutes).
- Only 1 copy of static contents (images, etc).