#java #google-app-engine #gwt #rpc
#java #google-app-engine #gwt #rpc
Вопрос:
Интерфейс GWT / AppEngine RPC меня съедает! Я получаю такие ошибки, как это:
INFO: javax.servlet.ServletContext log: UserService: ERROR: The serialization policy file '/55585D0849A4549E3FCE91B33725B02F.gwt.rpc' was not found; did you forget to include it in this deployment?
каждый раз, когда я запускаю сервер разработки. Я правильно установил public-root
in appengine-web.xml
(остальная часть приложения обслуживается нормально, за исключением .gwt.rpc
файлов).
<static-files>
<include path="**" />
<include path="**.nocache.*" expiration="0s" />
<include path="**.rpc" expiration="0s" />
<include path="**.cache.*" expiration="365d" />
</static-files>
<resource-files>
<include path="**.gwt.rpc" />
</resource-files>
Что я делаю не так? Помогите, пожалуйста!
Ответ №1:
После некоторых экспериментов вот что я придумал:
- Не забудьте
.rpc
включить файлы в развертывание appengine (appengine-web.xml
файл) и остерегайтесь проблем с кэшированием! (например, изменения в политике сериализации) - Лучше не использовать
public-root
тег вappengine-web.xml
: удалитеwelcome file
(например index.html ) в/
war
каталоге и внесите соответствующие изменения, чтобы GWT мог найти его файлы -
Обновите
url-pattern
теги сервлетов, чтобы они указывали внутри каталога, созданного GWTwar
, внутри каталога -
Для сервлетов, связанных с
tasks
(т.е.web hooks
), не изменяйтеurl-pattern
Следовательно, единственное место, которое требует некоторых знаний о папке, созданной GWT, находится в web.xml
. Конечно, welcome-file
проект GWT также должен быть адаптирован.
Надеюсь, это кому-нибудь поможет
Комментарии:
1. Привет, я вижу похожие ошибки в моем журнале App Engine. Не могли бы вы подробнее рассказать о «остерегайтесь проблем с кэшированием! (например, изменений в политике сериализации)»? Спасибо.
2. кэширование файлов .rpc на стороне клиента, т.Е. Изменения в .rpc должны быть распространены.
3. Я получил эту ошибку из-за наличия блока <resource-files>, который не включал «**.gwt.rpc». Я удалил его, и теперь он работает.
Ответ №2:
У меня была такая же проблема на развернутом сервере GAE, и только после того, как я добавил rpc include для раздела resource-files, ошибка исчезла. Вот что у меня получилось:
<resource-files>
<include path="/resources/**" />
<include path="**.gwt.rpc"/>
</resource-files>
<static-files>
<include path="**" />
<include path="**.nocache.*" expiration="0s" />
<include path="**.cache.*" expiration="365d" />
<exclude path="**.gwt.rpc"/>
</static-files>