2009年12月2日水曜日

Google App Engine2 NetBeans で Web開発

NetBeansのプラグインでJavaのみではなく、groovyコードも使用したWebアプリを開発して、Google App Engineに載せたいと思う時があります。
NetBeansでは、Jave SEプロジェクトならば、groovyコードが混在する場合も正常にコンパイルでき、動作します。が、Java EEプロジェクトの場合は混在させると、コンパイル時にgroovyコードのコンパイルが置き去りになり、Javaクラスが生成されません。
NetBeansのJava Webapp プロジェクトマネージャーには"Enable Groovy" 機能がサポートされていないようです。
そこで、次のURLに従って、Web App プロジェクトを修正して「groovy混在」を可能にできました。
"http://stackoverflow.com/questions/416116/groovy-netbeans-and-java-ee"

Java SEプロジェクトとJava Webプロジェクトを比較したとき、Java SEプロジェクトにgroovyコードをGUIを使用して追加すると、nbprojectフォルダにgroovy-build.xmlが生成されることがわかります。
そこでこのファイルをJava Webプロジェクトのnbprojectフォルダにコピーしてやり、build.xmlに次のような修正を加えてやります。





また、groovy-build.xmlそのものも、動作環境の違いを修正してやります。






build-impl.xmlについても


2009年12月1日火曜日

Google App Engine1 NetBeans Plungin

NetBeans IDE で Google App Engineを開発する。
Geertjan's Blogを参考にする。
 URL: http://blogs.sun.com/geertjan/entry/developing_for_google_app_engine

上記のURLからNetBeans support for Google App Engine のサポートページにリンクする。
 URL: http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18493

ここで、Downloadのボタンを押すと、次のページにリンクする。
このガイドに従い、
  1. プラグイン に行き、設定タブを押す。
  2. 追加ボタンを押し、Update centerの名前を"App Engine"として、下記のURLをテキストフィールドに入れ、了解ボタンを押す。
http://kenai.com/projects/nbappengine/downloads/download/Latest_NetBeans68/updates.xml












  1. 使用可能なプラグインタブに切り替え、 Google App Engine modules (server, configuration, deployment, editor hints)を選択する。
  2. インストールボタンを押す。
すると、次の4つのプラグインがインストールされる。
Google App Engine Editor Hints
Google App Engine Server Ver 1.04 09/10/14
Google App Engine Cofiguration Editor
Google App Engine Samples
Google AppEngine Deployment

このプラグインを使用して、アップロードを試みる。が次のエラーが出る。
Errors
###################################################################
Reading application configuration data...
Beginning server interaction for stera77...
0% Creating staging directory
5% Scanning for jsp files.
8% Compiling jsp files.
11% Compiling java files.

Error Details:
2009/11/17 15:51:56 org.apache.jasper.JspC processFile
情報: Built File: \guestbook.jsp


java.lang.IllegalStateException: cannot find javac executable based on java.home, tried "C:\Program Files\Java\jre6\bin\javac.exe" and "C:\Program Files\Java\bin\javac.exe"
Unable to update app: cannot find javac executable based on java.home, tried "C:\Program Files\Java\jre6\bin\javac.exe" and "C:\Program Files\Java\bin\javac.exe"
Please see the logs [C:\Users\stera\AppData\Local\Temp\appcfg7507442255159722246.log] for further information.
####################################################################

これは、javaのパスが正確に伝わっていない為なので、次のようなパッチを充てる。
Patch to C:\GAE\appengine-java-sdk-1.2.6\bin\appcfg.cmd
@C:\Java\jdk1.6\bin\java -cp "%~dp0\..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg %*


デプロイ後の状況は次のURLで確認する。
Admin Console
http://code.google.com/intl/en/appengine/docs/theadminconsole.html