При рассмотрении примеров приложений GWT и учебного пособия RPC используются следующие условные обозначения:
./client/GreetingService.java
./client/GreetingServiceAsync.java
./server/GreetingServiceImpl.java
Несмотря на то, что документы GWT очень редки по передовым методикам, какие компоненты включены, где во время выполнения, ясная интуиция:
- клиент - скомпилирован в JavaScript компилятором GWT
- сервер - скомпилирован в байт-код javac
- shared - скомпилирован в JavaScript компилятором GWT и скомпилирован в байт-код с помощью javac
Это заставит поверить, что код в client
должен , а не находиться на исходном пути компиляции javac. Тем не менее, поскольку GreetingServiceImpl
реализует GreetingService
, очевидно, что код в client
должен находиться на исходном пути во время компиляции и включаться в путь к классам выполнения при развертывании.
Учитывая это, почему интерфейс GreetingService
не входит в shared
?
Если вы попытаетесь вставить его в shared
, плагин GWT Eclipse пожалуется на «отсутствие асинхронного интерфейса» ...