Поместите ваши POJO в отдельный пакет / каталог (например, com.example.common), а затем добавьте объявление источника в дескриптор вашего модуля GWT (xyz.gwt.xml):
<source path="common"/> //relative to your xyz.gwt.xml location
Компилятор GWT также скомпилирует POJO, и они будут видны другим вашим кодом GWT.
Отредактировано:
@Lars - теперь я понимаю твою проблему. На мой взгляд, у вас есть несколько вариантов:
Если возможно, используйте Objectify вместо JDO. Objectify использует чистые POJO, и они прекрасно играют с GWT. Я использую это в своих проектах. Одна хорошая вещь, которую дает Objectify, - это @PostLoad & @ PrePersist для методов запуска некоторого кода до / после загрузки POJO / сохранения в хранилище данных. Я использую это для обработки сериализации GeoPoint, например.
Используйте JDO и делайте копии классов вашего домена. Это боль, но это сработает. Используйте «временное» ключевое слово java в классах JDO вашего сервера, чтобы исключить поля, которые вы не хотите использовать в RPC.
Редактировать # 2: есть третий вариант, который вы можете предпочесть:
- Создание "поддельных" классов аннотаций JDO с использованием суперсорсинга. Это обычная техника для замены классов версией GWT. Описано здесь: http://fredsa.allen -sauer.com / 2009/04 / 1st-look-at-app-engine-using-jdo.html