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>

追記

1. は面倒そげ、と思っていたら emacs で開いて javax の削除がでけた。わははは的。
2. と 3. は逆だなぁ。
なんか面倒なのでソース等に手を入れて、eclipse から war にして展開した後にいぢくり回した方が早そう。

で、上記の通りやってみたら、出た。(びっくり

もう少し補足しておくと、

  1. GWT なソレのディレクトリから gwt-user.jar を転送し、emacs で開いた後に javax.* を削除して webapps/newPRJ/WEB-INF/lib にコピィ。
  2. EntryPoint インターフェースを実装したエントリポイントクラスのコードの修正
  3. war を作成して転送後、jar xvf で解凍して WEB-INF/classes を webapps/newPRJ/WEB-INF にコピィ
  4. *-compile.cmd を実行し、www/* 配下にあるファイルを転送後、webapps/newPRJ 配下にコピィ
  5. web.xml を修正

この時点で manager/html をリロードしたら newPRJ が表示される (はず

とりあえずデプロイできたんですが、検索処理は動いてません。(を

追記

EntryPoint なソレの修正にて、プロジェクトの名前を間違えてた。直す気力ナシ。