Невозможно развернуть многомодульный проект Eclipse WTP EAR на удаленном экземпляре

Я создаю приложение GAE и следую предложенной структуре модульных приложений GAE в Eclipse с WTP, как описано в документации здесь (см. раздел "Enterprise Application EAR").

Я создал и связал экземпляр GAE на локальном сервере, и развертывание EAR с его модулями в экземпляре разработки GAE на локальном хосте работает нормально.

Однако, когда я пытаюсь «развернуть в App Engine» (через кнопку Google), чтобы выпустить свое приложение на удаленный сервер Google, я застреваю с ошибкой «... (имя проекта EAR) не является App Engine проект". Я также пытался определить новый сервер с удаленным адресом, но это не удается с ошибкой «Текущий выбранный тип сервера не поддерживает удаленные хосты». Поле имени хоста ограничено «localhost» в качестве действительного адреса сервера.

Моя структура проекта Eclipse выглядит следующим образом:

<<Enterprise Application Project>> ear-app
    |
    -- <<Dynamic Web Project>> app-module-1
    -- <<Dynamic Web Project>> app-module-2
    -- <<Dynamic Web Project>> app-module-3
    -- <<Dynamic Web Project>> app-module-4

Обратите внимание, что это не отдельный «проект Google/веб-приложения», который работает должным образом (но не поддерживает модульность с несколькими проектами Eclipse). Также обратите внимание, что я не использую Maven и предлагаемые команды mvn, как описано здесь.

Я использую GAE SDK 1.9.3 и GPE 3.5.1 в Eclipse Kepler 4.3.1.

Итак, как мне развернуть структуру проекта Eclipse WTP на удаленных серверах Google? Если это невозможно, предложите ли вы мне перейти на Maven, и если да, то поддерживает ли он управление многомодульным проектом из Eclipse?


person Thomas W.    schedule 06.05.2014    source источник


Ответы (1)


Совершенно случайно я наткнулся на решение:

В представлении «Серверы» и при щелчке правой кнопкой мыши локального сервера разработки появляется еще одна запись в контекстном меню «Google App Engine WTP/Развертывание на удаленном сервере». Это позволит развернуть EAR и все модули в инфраструктуре Google. В меню представления «Серверы» также есть кнопка «Google App Engine WTP», предлагающая те же параметры.

Честно говоря, я нахожу это очень непоследовательной реализацией пользовательского интерфейса: если мы создаем проект типа веб-приложения Google, то кнопка Google в главном меню эффективна, а контекстные меню можно найти как «Google...». Они становятся недействительными (но все еще присутствуют), когда мы создаем многомодульную структуру EAR в стиле WTP. Это создаст другой набор кнопок и пунктов контекстного меню, все в разных местах, а контекстное меню ЛОКАЛЬНОГО сервера будет поддерживать развертывание на УДАЛЕННОМ сервере.

ОБНОВЛЕНИЕ: после использования инструментов GAE в течение нескольких недель я, наконец, переключился на параметры командной строки (appcfg) для удаленного развертывания. У меня были дополнительные ошибки в GPE для откатов развертывания (которые не работают в Eclipse, но работают с appcfg). Я рекомендую appcfg в качестве инструмента администрирования инфраструктуры Google, он обеспечивает больший контроль и является более зрелым, чем плагин Eclipse.

person Thomas W.    schedule 09.05.2014