以前、やたら持ち上げつつ、具体的な事柄については一切触れなかったTeedaについて。プライベートが忙しい&仕事が例によって(ry&実は色々お勉強中でした。少しだけ成果が出たので、それを書きます。

Teedaが非常に魅力的に思えたので早速試してみようと思ったのですが、Tomcatプラグインの使用を前提としていたのでちょっと四苦八苦してしまいました。というのも、自分は仕事の関係でColdFusionをIISで使えるようにしてあったり、以前に書いたMediaWikiを使う為にサービスとしてではないにしろApacheを立てていたり、とWebサーバが乱立してましてここにさらにTomcatをインストールするのが嫌でした。Strutsなどで遊ぶ際もWTPを使って何とかインストールせずに済ませてましたので、何とかTeedaWTPで使えないもんか、と思った訳です。


で、試してみたんですが、自称職人志向とは言えまだまだ自分はショボイので、苦労と回り道をしてしまったのですが、何とか動かすようにできましたので、その手順を忘れないうちに書きます。


まず失敗談。

  • http://www.seasar.org/からteeda-html-example-1.0.7.zipをダウンロードしてきました。
  • Tomcatプラグインの使用を前提としているにしろ、Eclipseのプロジェクトの体が整っている状態なので、まずはこれを解凍してEclipseで「既存のプロジェクトをワークスペースへ」を選んでインポート。
  • Tomcatプラグインがねーよ、とエラーが出るので、ビルドパスを修正。
  • この他、JSPファイルで意味分からんエラーが出るので、それも修正(というか、保存しなおすと消える)。

この時点で、WTPのサーバはインポートしたTeedaのプロジェクトを使用可能なプロジェクトとして認識せず。そこで自分はTeedaのプロジェクトの中身をいじってはWTPが認識できるようにできんものかと悩みましたが、WTPが何をポイントにEclipseのプロジェクトを識別しているのか、ついに分からず一旦挫折。
ここまでが、失敗談。


で、動くようにした手順は、以下です。

  • Eclipseでは、「新規」→「プロジェクト」→「動的 Web プロジェクト」で、新しいプロジェクトを作成。
  • ファイル操作
    • ダウンロードしたteeda-html-example-1.0.7.zipを解凍。
    • 解凍したteeda-html-example-1.0.7.zipの直下にあるファイル「pom.xml」を、Eclipseのプロジェクトの直下にコピー。
    • 解凍したteeda-html-example-1.0.7.zipのフォルダの「/src/main/webapp」の「css」「img」「js」「view」のフォルダとファイル「index.jsp」を、Eclipseのプロジェクトの「WebContent」フォルダにコピー。
    • 解凍したteeda-html-example-1.0.7.zipのフォルダ「/src/main/webapp/WEB-INF」のフォルダ「lib」とファイル「faces-config.xml」「portlet.xml」「web.xml」をコピーして、Eclipseのプロジェクトの「WebContent/WEB-INF」にコピー。(web.xmlは上書き)
    • 解凍したteeda-html-example-1.0.7.zipのフォルダ「/src/main/java」と「/src/main/resources」を、Eclipseプロジェクトの「src」フォルダ配下にコピー。
  • Eclipseのビルドパスを以下のように設定。
    • 「ライブラリー」→「外部JARの追加」にて、「/WebContent/WEB-INF/lib」以下にある全てのJarファイルを追加。
    • 「src」フォルダ配下にコピーした「java」と「resources」フォルダを、ソースフォルダとして追加。(「ソース」→「フォルダーの追加」)
    • 「サーバ」ビューから、「プロジェクトの追加および除去」を開くと、Teeda用に作りこんだプロジェクトが認識される筈なので、それを構成プロジェクトに追加。

以上で、http://localhost/teeda/index.jspにアクセスしたところ、無事「Welcome to Teeda Extension HTML Example!」の画面が表示されました。
何故か

致命的: クラス com.sun.faces.config.ConfigureListener のアプリケーションリスナの設定中にエラーが発生しました
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener

というのがコンソールに出ているのですが、これらは今後の課題ですね。


ひゃー、一時はTomcatインストールしないといかんかなーと思っていたので、とりあえずExceptionが出ちゃってますが、表示できてちょっと一安心。