Проект с Guava, GWT и AppEngine

Можно ли использовать библиотеки Guava в проекте, выполненном как с GWT, так и с Google AppEngine ?

Я вижу, что отдельные jars (стандартный Java и GWT-совместимый) имеют одинаковую иерархию именования пакетов. Как они интегрируются в проект GWT + AppEngine?


person jldupont    schedule 19.10.2011    source источник


Ответы (2)


Да, это возможно. Некоторые классы Guava нельзя будет использовать в AppEngine из-за ограниченной песочницы, в которой будет работать ваше приложение, особенно в пакете .io, например Files (вы сможете читать, но не писать).

Вы беспокоитесь о развертывании обоих файлов jar и возникновении конфликта? Если так, я думаю, все будет хорошо - когда вы компилируете свое приложение GWT, оно превращается в javascript, поэтому вам не обязательно развертывать совместимый с GWT jar, просто обычный.

person Peter Recore    schedule 19.10.2011
comment
спасибо за ваш вклад. Итак, если я просто опущу gwt в свой проект Eclipse, я буду хорош как для GWT, так и для AppEngine? - person jldupont; 19.10.2011
comment
Я так считаю. Однако может быть небольшое количество классов, которые вы пропустите при этом - при условии, что существуют классы, которые оба работают в движке приложения, но не совместимы с gwt. Если вы посмотрите на javadoc для библиотек guava, вы увидите, что многие (большинство?) Из них аннотированы @ gwt-compatibility. Например, см. docs.guava-libraries.googlecode.com/git-history/v10.0.1/javadoc/ - person Peter Recore; 19.10.2011

Никакого конфликта не будет, так как gwt будет использоваться истинной клиентской стороной DevMode и компилятором GWT, «нормальный» будет жить в вашем WEB-INF / lib и загружаться (в DevMode) в другом загрузчике классов. . Таким образом, это полностью зависит от вашего проекта и настройки сборки.

При этом я никогда не пробовал это в одном проекте Eclipse. Я всегда использую разные клиентские и серверные проекты и -noserver в DevMode.

person Thomas Broyer    schedule 19.10.2011