ダラダラ調査。
結論は最後の5行くらい。
元気な人は最初から見て下さいw
Google App Engine for JavaでサーブレットとかJSPを扱う時のこと。
Webアプリケーションの動作確認と開発を並行して行うと
JSPの更新は上書きだけでも実行環境に即反映(ブラウザの再読み込みは必要)されるのだけど、
サーブレットはぜんっぜん反映されない。
正確に検証したわけではないけど、
されない。
何故か。
いや、もちろんブラウザの再読み込みだけでされるとは思ってない。
サーブレット更新後、Webアプリケーションを停止して実行しても
されない。
意味もなくプロジェクトをクリーンしても
されない。
しかたねーなって思いつつもEclipseを再起動してからWebアプリケーションを実行させると
される。
お~!!!
…じゃねーし!
それじゃ意味ないよGoogle先生。
これじゃ進まないって事で調べてみると、
何か説明しているページを発見。
趣旨は違うんだけど、補足で書いてある
(http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/usingusers.html)
ちょうどユーザーの使用って項目の、
ソースが書いてあるちょい下かな。
(以下引用)
Eclipse を使用し、開発サーバーをデバッガ内で実行している場合は、このファイルに変更を加えて保存すると、新しいコードが自動的にコンパイルされて実行中のサーバーに挿入されます。クラス、JSP、静的ファイル、および appengine-web.xml に加えた変更は、実行中のサーバーにすぐに反映されます。再起動は必要ありません。web.xml などの設定ファイルを変更した場合は、変更を反映するためにサーバーを停止して起動する必要があります。
(引用ここまで)
ん。
嘘でしょ?w
さらに調べると、似たような事例で
複数のサーバーが立ちあがってたりすると、動作がおかしくなる事もあるそう。
確認してみたけど
サーバ一つしか立ちあがってないよorz
でも待て。
よく考えてみたら、反映されてないの何だのを試したのは1週間くらい前。
そこから反映されていないのを見るのが嫌だったから
普通に毎回Eclipse再起動してたな。
ということで、Webアプリケーションの停止→実行で反映されるか試してみた。
まあ。
(反映)されたよねorz
結論。
JSPとかHTML
→保存してリロードすればWebアプリ実行中でも反映される。
サーブレットとかxml
→Webアプリ停止して実行すれば反映される。
って事でした。