Вопрос 1) Я согласен с edwardTheGreat, ваша первоначальная структура пакета звучит вполне разумно.Вам нужно будет только перечислить клиентские и общие пакеты (те, которые необходимо скомпилировать в javascript) в файле gwt.xml.
Вопрос 2) Если вы измените структуру пакета, как вы упомянуливам нужно будет перечислить клиента и общие каталоги каждого модуля в файле gwt.xml.Как сказал Дэниел, вы можете разбить каждый модуль на его собственный «модуль GWT», а затем наследовать модули GWT, которые вам нужны в каждом модуле приложения.
Чтобы достичь этого, вам необходимо сделать доступным исходный модуль для каждого унаследованного модуля GWT.Делаете ли вы это через Maven, Ant и т. Д., Не имеет значения.Но модуль GWT верхнего уровня должен иметь доступ во время компиляции к источнику для всех унаследованных модулей GWT.Например:
<module rename-to='A'>
<inherits name='org.example.B' />
... other inherits, entry-point, etc. ...
<source path='client' />
<source path='shared' />
</module>
При такой структуре модуль «А» должен иметь доступ к источнику модуля «В».Модуль 'B' может быть собран, как обычно, как модуль GWT, но тогда, во время компиляции, модуль 'A' должен иметь источник B. на пути к классам.