お気に入り | 日本語 | ログイン

Java 開発サーバー

App Engine Java SDK には、開発したアプリケーションをローカル コンピュータでテストするための開発用 Web サーバーが含まれています。開発用 Web サーバーは、App Engine Java ランタイム環境と、その環境で提供されるすべてのサービス(データストアなど)をシミュレートします。Google Plugin for Eclipse を使用すると、Eclipse デバッガ内でサーバーを実行できます。開発サーバーは、コマンドラインから実行することもできます。

開発用 Web サーバーの実行

Eclipse および Google Plugin を使用している場合は、Eclipse デバッガ内で開発用 Web サーバーを実行できます。サーバーをデフォルト設定で実行する場合は、[実行] メニューから [デバッグ] > [Web アプリケーション] をクリックします。サーバーの起動方法(たとえばどのポートを使用するか)を細かく指定するには、新しいデバッグ構成を構成タイプ「Web Application」で作成します。詳しくは、Google Plugin for Eclipse の使用をご覧ください。

開発用 Web サーバーは、コマンド プロンプトから実行することもできます。実行コマンドは、SDK の appengine-java-sdk/bin/ディレクトリに格納されています。

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 ディレクトリの場所を取ります。

Web サーバーを停止するには、Ctrl+C を押します(Windows、Mac、または Linux の場合)。

これらのコマンドは OS 固有のラッパー スクリプトで、Java クラス com.google.appengine.tools.KickStartappengine-java-sdk/lib/appengine-tools-api.jar で実行されます。

データストアの使用

開発用 Web サーバーは、コンピュータのファイルを使用して App Engine データストアをシミュレートします。このファイルの名前は local_db.bin で、アプリケーションの WAR 内の WEB-INF/appengine-generated/ ディレクトリに作成されます(アプリケーションと一緒にアップロードされることはありません)。

このファイルは次回 Web サーバーを呼び出すときまで保持されるので、格納したデータを引き続き使用できます。データストアのコンテンツをクリアするには、サーバーをシャットダウンしてからこのファイルを削除します。

データストア インデックスの設定で説明したように、アプリケーションで必要なデータストア インデックスの設定は、テスト中に実行したクエリに基づいて開発サーバーで生成できます。生成されるファイルの名前は datastore-indexes-auto.xml で、WAR 内の WEB-INF/appengine-generated/ ディレクトリに格納されます。インデックスの自動設定を無効にするには、<datastore-indexes> 要素の autoGenerate="false" 属性を使用して、WEB-INF/ ディレクトリに datastore-indexes.xml というファイルを作成および編集します。詳しくは、データストア インデックスの設定をご覧ください。

ユーザーの使用

開発用 Web サーバーは Google アカウントをシミュレートしており、独自のログイン ページとログアウト ページがあります。ログイン ページとログアウト ページの URL を生成するメソッドを開発用 Web サーバーで実行すると、ローカル サーバー上の /_ah/login および /_ah/logout の URL が返されます。

開発用 Web サーバーのサインイン ページには、メール アドレスを入力するフォームがあります。セッションでは、入力したメール アドレスがアクティブなユーザーとして使用されます。

ログインしたユーザーが管理者であるとアプリケーションに認識させるには、フォームの [管理者としてログイン(Sign in as Administrator)] チェックボックスをオンにします。

URL フェッチの使用

HTTP リクエストを作成するためにアプリケーションで URL Fetch API を使用している場合、開発用 Web サーバーはコンピュータから直接リクエストを作成します。プロキシ サーバー経由でウェブサイトにアクセスしている場合、App Engine でアプリケーションを実行する時とは動作が異なる可能性があります。

コマンドライン引数

開発サーバーのコマンドでは、以下のコマンドライン引数がサポートされます:

--port=...

サーバーで使用するポート番号。デフォルトは 8080 です。

--address=...

サーバーで使用するホスト アドレス。ネットワーク上にある別のコンピュータから開発用サーバーにアクセスするには、この設定が必要になる場合があります。0.0.0.0 のアドレスは、ローカルホストとホスト名へのアクセスをどちらも許可します。デフォルトは localhost です。

--sdk_root=...

App Engine Java SDK へのパス。ツールの場所と異なる場合に指定します。

--disable_update_check

これを指定すると、開発サーバーが App Engine と通信し、SDK の新しいリリースを入手できるかどうか確認します。デフォルトでは、サーバーの起動時に新バージョンが確認され、入手可能であればメッセージが表示されます。

--help

参考になるメッセージを表示してから終了します。