2009年5月31日日曜日

NetBeans IDE で Google App Engine for Java (1)

誰も書いていないようなので書いてみます
NetBeans での Google App Engine for Java(以下、GAEj) 用アプリケーションの開発についてです
元ネタはココココです

09年5月31日現在、 Eclipse や IntelliJ IDEA 用の GAEj サポートプラグインが公開されていますが、残念ながら NetBeans 用はありません
(正確には開発中なのですが、詳細は次回書きたいと思います)
しかし、 NetBeans のビルドが Ant ベースなので、 GAEj の配布パッケージ内に含まれる build.xml を組み込んで実行することができます

今回の例では、 以下の環境にて説明を行います

・NetBeans IDE Dev (Build 200905280201)
・Java: 1.6.0_13
・appengine-java-sdk-1.2.1

また、説明は Google App Engine SDK for Java に含まれているデモアプリケーションの Guestbook を使用して行います
SDK 内の demos/guestbook を任意の場所にコピーしてください

1. プロジェクトの作成

メニューより「ファイル > 新規プロジェクト」と選択し、新規プロジェクト作成ウィザードを開きます

2. プロジェクトの選択

「カテゴリ」リストは「Java Web」、「プロジェクト」リストは「Web 自由形式アプリケーション」を選択し、「次へ」ボタンをクリックします

3. 名前と場所

「場所」は事前にコピーしていた guestbook ディレクトリに設定します
その他の項目は、「場所」設定後に自動で設定されるかと思います
内容を確認し、「次へ」ボタンをクリックします

4. 構築と実行のアクション

ここでは設定値はデフォルトのまま変更せず、「次へ」ボタンをクリックします

5. Web ソース

ここも設定値はデフォルトのまま変更せず、「次へ」ボタンをクリックします

6. ソースパッケージフォルダ

ここも設定値はデフォルトのまま変更せず、「次へ」ボタンをクリックします

7. Java ソースのクラスパス

「Jar/フォルダを追加」ボタンをクリックし、SDK ディレクトリ以下にある下記ファイルを指定します
・lib/user/appengine-api-1.0-sdk-1.2.1.jar
・lib/user/orm/datanucleus-appengine-1.0.1.final.jar
・lib/user/orm/datanucleus-core-1.1.0.jar
・lib/user/orm/datanucleus-jpa-1.1.0.jar
・lib/user/orm/geronimo-jpa_3.0_spec-1.1.1.jar
・lib/user/orm/geronimo-jta_1.1_spec-1.1.1.jar
・lib/user/orm/jdo2-api-2.3-SNAPSHOT.jar
・lib/shared/geronimo-el_1.0_spec-1.0.1.jar
・lib/shared/geronimo-jsp_2.1_spec-1.0.1.jar
・lib/shared/geronimo-servlet_2.5_spec-1.2.jar
設定後、「完了」ボタンをクリックします

8. build.xml の修正
プロジェクト作成後、プロジェクトウィンドウ内に Guestbook プロジェクトが表示されるので、ツリーを展開し、 build.xml をダブルクリックして開きます

ファイル2行目の propertiy 要素の location 属性値(デフォルトでは"../..")を、 appengine-java-sdk のインストールディレクトリの絶対パスに設定し、保存します


9. 実行
プロジェクトのアイコンを右クリックし、表示されるメニュー内から「実行」を選択します

「出力」ウィンドウに開発用サーバ起動のログなどが表示されます

"The server is running at http://localhost:8080/" と表示されたら、ブラウザにて "http://localhost:8080/" へアクセスしてください

Guestbook アプリケーションが表示されるかと思います
(サーバを停止するには出力ウィンドウの停止ボタンで可能かと思いますが、停止しない場合はプロセスを Kill してください)

以上が実行までの手順となります
次回はデバッグについてと、現在 Kenai 上で開発されている NetBeans 用 Google App Engine サポートプラグインの紹介をしたいと思います