Google Plugin for Eclipseなしで、AppEngine/Java+GWT+Slim3 を弄る。
会社のプロキシのせいだと思うけど、Google Plugin for Eclipse が、インストールできない。
なので、SDKでやるべく頑張った。
そのメモを残す。
用意したものとバージョン
やること
Slim3の、"Getting Started with GWT" を、Google Plugin for Eclipse なしでやる。
http://sites.google.com/site/slim3appengine/getting-started-with-gwt
やったこと
(2)プロジェクトの設定
以下の"Getting a blank project"の内容に沿ってやる。
http://sites.google.com/site/slim3appengine/getting-started-with-gwt/getting-a-blank-project
が、Google Plugin を入れていないので、一部できない部分が出てくる。
具体的には、10、12、13、14。
(3)GWT周りのファイルの準備
上記Slim3サイトの10、12、13の対処
まずは、GWTのコンパイルをするbuild.xmlを手に入れるために、GWT SDKのコマンドwebAppCreatorを使用する。
webAppCreator -out tekitodir tutorial.Main
tekitodirは、適当なディレクトリを指定する。slim3-blankのディレクトリを指定すると、いろいろ上書きされるので、別にしている。
コマンドを実行すると、ゲロゲロといろんなものが出力されるが、その中の buuild.xml をslim3-blankのプロジェクトにコピーしてくる。
コピーの際には、既存のbuild.xmlと名前が被るので、build_gwt.xmlにリネームしておく。
あとは、Slim3のサイトの内容に沿って、
を作成する。
src/tutorial/client/MainEntryPoint.java は以下の通りに作成する。
package tutorial.client; import com.google.gwt.core.client.EntryPoint; public class MainEntryPoint implements EntryPoint { public void onModuleLoad() { } }
あと、Main.gwt.xml の
これでGWTのモジュールをコンパイルできるようになるはず。
GWTコンパイルは、Pluginが入っていれば、そいつが勝手にやってくれるけど、
今回はそれがないので、build_gwt.xml を使用する。
build_gwt.xml のデフォルトのタスクでGWTをコンパイルしてくれるので適宜実行する。
実行が成功すれば、warディレクトリの下に、mainディレクトリができるはず。
好みで、Builderとして、build_gwt.xmlを追加して、自動でGWTコンパイルが実行されるようにしてもいい。
(4)ライブラリの設定
上記作業後、MainEntryPoint.javaがコンパイルエラーになる。
多分、Plugin入っていれば自動でビルドパスに追加してくれるJarが、追加されていないためにおこるんだと思う。
まずは、以下のファイルをビルドパスに追加する。
- war/WEB-INF/lib/gwt-servlet.jar
- war/WEB-INF/lib/appengine-api-1.0-sdk-1.3.5.jar
- war/WEB-INF/lib/appengine-api-labs-1.3.5.jar
つぎに、GAE SDK の中の、
を、External JAR として追加する。
(5)GAE開発サーバの実行
上記Slim3サイトの14の対処
GAEプラグインがないので、開発サーバも自分で起動する。
そのために、GAE SDK の、dev_appserver を使用する。
dev_appserver --disable_update_check slim3-blank\war
--disable_update_check を使用しているのはプロキシ対策。
すると、サーバが起動するので、http://localhost:8080/ にアクセスすればよい。
画面は、真っ白な状態で表示される。
もし、ブラウザがChromeの場合は、デバッグに使用できるChromeプラグインのインストールを求められるので、インストールしておけばいいのだと思う。(つかったことないけど。)
(6)あとは、Slim3サイトに従って粛々と。
やるだけ。