Всем добрый день! Недавно я начал разработку своего первого приложения на Google App Engine и сразу столкнулся с забавной проблемой — эмулятор сервера GAE, входящий в состав GAE SDK для Java, отказывался применять изменения в коде проекта.
Ниже описание проблемы и как я от нее избавился.
Возможно это сэкономит кому-то время
Оперативная ситуация
Возникла необходимость написать собственное веб-приложение.Опыта в этом деле у нас нулевой, но главное в нашем деле – желание.
Я начал изучать предметную область.
Для разработки с выездной Я скачал GAE SDK для Java и решил броситься в бой.
Но поскольку тот возраст, когда хочется делать все из командной строки, чтобы докопаться до самой сути происходящего, уже давно прошел, я решил облегчить себе жизнь комбинацией Eclipse + GAE Plugin + GWT. Читать инструкция по установке этот инструмент и решил загрузить совершенно новый Eclipse. Система у меня 64-битная, Win 7. На всякий случай скачал две версии IDE (Eclipse Indigo), но так получилось, что загрузка 32-битной закончилась быстрее.
Установил плагин по ссылке dl.google.com/eclipse/plugin/3.7 (заменив на свой страх и риск исходный номер 3.4 из туториала на номер версии Indigo) и создали первый проект с помощью плагина, подключив при этом GAE Java SDK (есть только 32-битная версия).
Симптомы
Некоторое время все шло хорошо, пока не потребовалась отладка.Плагин Google позволяет запустить сервер эмулятора прямо из Eclipse, щелкнув соответствующее изображение отладки.
Вот тут-то и начались проблемы - меняю код проекта (сборка автоматическая), запускаю сервер, захожу на localhost:8080, а изменений не происходит. Начинаю грешить автоматической сборкой, отключаю, делаю чистку+сборку вручную, эффект тот же.
Однократный перезапуск сервера (с помощью кнопки в Eclipse) по-прежнему приводит к тому, что изменения в проекте начинают отображаться в браузере.
И самое интересное, что я отключаю Eclipse, но localhost все равно позволяет мне войти.
При этом диспетчер задач не отображает отдельный серверный процесс, помогает только убийство javaw.exe.
Уход
Я решил вернуться к моей любимой командной строке.К счастью, в GAE SDK есть пакетный файл для запуска сервера вручную (в качестве параметров он принимает номер порта и путь к каталогу war).
При этом отказываться от удобства редактирования проекта в Eclipse мне не хотелось.
Я решил отредактировать код в IDE и написал скрипт для запуска сервера.
В результате все изменения в коде после пересборки и перезапуска сервера моментально отображаются в браузере.
Именно тогда меня осенила мысль о совместимости моей 64-битной оси и комбинации Eclipse + GAE Plugin (несмотря на то, что ранее приложения в 32-битном Eclipse разрабатывались вполне успешно).
В результате запуск 64-битного Eclipse + GAE Plugin с тем же GAE Java SDK устранил проблему с сервером разработки (даже точки останова работают, это оказалась крутая игрушка).
несчастье
Весь день был потерян.К сожалению, в российском (да и не только российском) Интернете описания подобной проблемы мне найти не удалось.
Так что, возможно, я сэкономлю кому-то время Теги: #dev server #eclipse #indigo #Google #plugin #Google App Engine
-
Методы Решения Проблем Цветового Зрения
19 Oct, 24 -
Цены На Яблочную Продукцию В Снг
19 Oct, 24 -
8 Правил Вирусного Маркетинга
19 Oct, 24 -
Альтернативный Slf4J-Логер «Reel»
19 Oct, 24