Избранное | Русский | Войти

Сервер разработки Java

SDK Java App Engine включает веб-сервер разработки для тестирования приложений на компьютере. Веб-сервер разработки имитирует среду выполнения Java App Engine и все ее службы, включая хранилище данных. Плагин Google для Eclipse может запускать сервер в отладчике Eclipse. Также можно запускать сервер разработки из командной строки.

Работа с веб-сервером для разработки

При использовании Eclipse и плагина Google можно запустить веб-сервер разработки в отладчике Eclipse. Для запуска сервера с конфигурацией по умолчанию выберите меню Выполнение, Отладить как > Веб-приложение. Для большего контроля надо запуском сервера, например, определения порта, используемого сервером, создайте новую конфигурацию отладки, используя тип конфигурации "Веб-приложение". Дополнительную информацию см. в статье Плагин Google Eclipse.

Также можно запускать веб-сервер разработки из командной строки. Команда для выполнения находится в каталоге appengine-java-sdk/bin/ SDK.

В Windows используется следующая команда:

appengine-java-sdk\bin\dev_appserver.cmd [options] war-location

В Mac OS X и Linux используется следующая команда:

appengine-java-sdk/bin/dev_appserver.sh [options] war-location

Команда принимает расположение каталога WAR приложения в качестве аргумента.

Чтобы остановить сервер, нажмите Control-C (в операционных системах Windows, Mac и Linux).

Эти команды являются скриптами оболочки для конкретных операционных систем, запускающие класс Java com.google.appengine.tools.KickStart в appengine-java-sdk/lib/appengine-tools-api.jar.

Работа с хранилищем данных

Веб-сервер для разработки имитирует хранилище данных App Engine, используя файл на вашем компьютере. Файл называется local_db.bin и создается в каталоге WAR приложения, в каталоге WEB-INF/appengine-generated/. (Он не загружается вместе с приложением.)

Этот файл сохраняется между вызовами веб-сервера, поэтому сохраненные данные будут все так же доступны при следующем запуске веб-сервера. Чтобы очистить содержимое хранилища данных, выключите сервер, затем удалите этот файл.

Как описано в статье Конфигурация индекса хранилища данных, сервер разработки может создать конфигурацию для индексов хранилища данных, необходимых для приложения, которая определена из запросов, выполненных при тестировании. При этом создайте файл datastore-indexes-auto.xml в каталоге WEB-INF/appengine-generated/ в WAR. Чтобы отключить автоматическую конфигурацию индекса, создайте или измените файл datastore-indexes.xml в каталоге WEB-INF/, используя атрибут autoGenerate="false" для элемента <datastore-indexes>. Дополнительную информацию см. в статье Конфигурация индекса хранилища данных.

Работа с пользователями

Веб-сервер для разработки имитирует аккаунты Google с помощью собственных страниц входа и выхода. При работе на веб-сервере разработки методы, создающие URL входа и выхода, возвращают URL-адреса для /_ah/login и /_ah/logout на локальном сервере.

Страница входа веб-сервера для разработки содержит форму, в которой можно указать адрес электронной почты. В сеансе используется адрес электронной почты, указанный вами как активным пользователем.

Чтобы приложение считало вошедшего пользователя администратором, установите флажок "Войти в качестве администратора" в форме.

Работа с получением URL

Если для выполнения HTTP-запросов приложение использует API получения URL, веб-сервер для разработки будет выполнять их непосредственно с вашего компьютера. Если вы используете для доступа к веб-сайтам прокси-сервер, то это поведение может быть другим, чем при выполнении приложения на App Engine.

Аргументы командной строки

Команда сервера разработки поддерживает следующие аргументы командной строки:

--port=...

Номер порта, используемого сервером. По умолчанию используется значение 8080.

--address=...

Адрес узла, используемого сервером. Этот аргумент необходим для доступа к серверу разработки с другого компьютера в сети. Адрес 0.0.0.0 позволяет получать доступ как через localhost, так и по имени узла (hostname). По умолчанию используется значение localhost.

--sdk_root=...

Путь к SDK Java App Engine, если он отличается от расположения средства.

--disable_update_check

Если указан, сервер разработки не будет обращаться к App Engine для проверки доступности нового выпуска SDK. По умолчанию сервер проверяет наличие новой версии при запуске и отображает сообщение, если новая версия доступна.

--help

Отображает полезное сообщение и завершает работу.