Google グループにおける解を意訳
http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/a403ebd45c94c77e/06f12f38c1381add?lnk=raot#06f12f38c1381add にて記述されているコト、大体以下のような感じらしい。
別途試験してみたいな、と。
- gwt-user.jar から javax.* なパケジを取り除く (winzip 又は winrar 等のツールを使えば可能って何)。
- 上記の jar を webapps/YourApp/WEB-INF/lib にコピる。コンパイルした class ファイルを webapps/YourApp/WEB-INF/classes にコピる。
- EntryPoint インターフェースを実装したエントリポイントクラスのコードを以下のような形に修正 (calendar な行は別途、web.xml の修正おいて再度使用)。
ServiceDefTarget target = (ServiceDefTarget) calService; String staticResponseURL = GWT.getModuleBaseURL(); staticResponseURL += "/YourApp/calendar"; target.setServiceEntryPoint(staticResponseURL);
ちなみに自動生成した場合、以下のような形になっている。
ServiceDefTarget target = (ServiceDefTarget) calService; target.setServiceEntryPoint("/test/cal");
- *compile.cmd を実行。www\* 配下にファイルが生成されるので、これらを webapps/YourApp/ 配下にコピる。
- web.xml を以下のように修正
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>SchoolCalendarService</servlet-name> <servlet-class>com.google.gwt.sample.dynatable.server.SchoolCalendarServiceImpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>SchoolCalendarService</servlet-name> <url-pattern>/calendar</url-pattern> </servlet-mapping> </web-app>
- tomcat 再起動。
追記
1. は面倒そげ、と思っていたら emacs で開いて javax の削除がでけた。わははは的。
2. と 3. は逆だなぁ。
なんか面倒なのでソース等に手を入れて、eclipse から war にして展開した後にいぢくり回した方が早そう。
で、上記の通りやってみたら、出た。(びっくり
もう少し補足しておくと、
- GWT なソレのディレクトリから gwt-user.jar を転送し、emacs で開いた後に javax.* を削除して webapps/newPRJ/WEB-INF/lib にコピィ。
- EntryPoint インターフェースを実装したエントリポイントクラスのコードの修正
- war を作成して転送後、jar xvf で解凍して WEB-INF/classes を webapps/newPRJ/WEB-INF にコピィ
- *-compile.cmd を実行し、www/* 配下にあるファイルを転送後、webapps/newPRJ 配下にコピィ
- web.xml を修正
この時点で manager/html をリロードしたら newPRJ が表示される (はず
とりあえずデプロイできたんですが、検索処理は動いてません。(を
追記
EntryPoint なソレの修正にて、プロジェクトの名前を間違えてた。直す気力ナシ。