そろそろJavaのソースでも見てみるかな

Teedaを使って組んでいるのですが、少し中身も見ておこうと思ってソースを見てみました!
かなーーーりいろいろチャレンジしたのですが、以下概要です。

JDKは5を使おう

6だとエラーがでます。基本的にSeasarシリーズは5でコンパイルされているみたいです。これは仕方ないかな、実際使うのは5が多いだろうしね。

Javaのソースは無機質だ。。。

これは言語的に仕方ないかもしれないけれど、ソース1つ1つには組んだ人の思想ってあまりでないですよね。他の言語って出やすいですが、Javaの場合ある程度均一化されたソースみたいです。

全体的な構成は思想が強い気がします。
あと、基本的にTeedaのソースにはコメントついていません(涙)

mvnを使おう

antはどうも、違う用途みたいです。ant動かすためにはサイト系のファイルが必要になるし、teedaの全体のソースも要求します。パッケージもしてくれないので、通常の改造用途にはmvnです!

TeedaはやっぱりJSF。。。

当たり前ですが、extensionの部分のソースを追っていてもJSFのcore部分に行き着きます。結構すぐに行っちゃうのでテンプレート部分を少し直したいのに、ベースのJSF実装を変えるのは微妙ってことで少し躊躇します。

そもそもフレームワーク部分って変更するとバージョンアップに追従できなくなるので、基本的には手を入れたくないんですよね。。。

Javaはライブラリのソースを読むのは面倒

jadがあったりして、ソースがないライブラリのバグを直したりできるのはJavaの便利なところですが、PHPみたいに組んでいるときにちょこっとソースみて、変更して試すってのには不向きですよね。

まあ、安定を目指すとそう簡単に触るべきではないのでしょうが(笑)

Teedaのコードを作るのは面倒

毎回Tomcatの停止と起動をするので、結構ストレスたまります。今回はeclipse上でテストプロジェクトに組み込んで開発ではなくて、毎回jarを作っていたので余計に時間かかりました(涙)

pom.xmlを編集してtestとかextension以外のモジュールは除外したりしてるんで、生成はそんなに手間じゃなかったのですが、再起動が。。。

Javaにはvar_dumpがない(涙)

System.out.println でデバッグしていたので(苦笑)

http://jakarta.apache.org/commons/lang/

System.out.println( ToStringBuilder.reflectionToString(data, ToStringStyle.MULTI_LINE_STYLE).toString() );

こんなのを大量に埋め込んでどんなデータ構造なのかを調べました。PHPだとすべてのデータがすぐに見えるのですが、Javaの場合privateの場合中身見えないので面倒っすね。まあ、デバッガーを使えってことでしょうか。。。

感想

個人的にはTeeda側でがんばるより、JavaScriptでがんばる方が幸せになれることが多いと思う。
次は少しS2JDBC-Genをのぞいてみようかなっ
本当は今日触りたかったのですが、時間切れでした(涙)

S2JDBC-Genは本番環境では動かさないものなにで、改造してもそれほど影響範囲が大きくないので改造には適していそうです。Genのantにプロジェクト独自で実行したいコマンドを追加したいんですよね〜