2008年2月14日木曜日

serialverの使い方.

なんか,独自に例外クラスを定義しようとしてたら,serialVersionUID なるものがあることに気づいて調べてたら,今回のエントリを書くところにたどり着いた感じw

んと,どっから説明したらいいんだろ.とりあえず,serialVersionUID から説明すると,Serializable インターフェースを実装してるクラスは,private static final フィールドとして保持しといた方がいいよってものらしい.(詳しくは,リンク先を見てくれぃ.)

じゃ,なんで例外クラスを定義しようとしてたらそれが出てきたかっていうと,Throwable クラスがそれを実装してるから.なんでかはよくわかってない・・・.

ということで,その serialVersionUID なるものを生成するツールが serialver なのだ.その使い方は次のとおり.(NetBeans プロジェクト前提だよ〜.)

プロジェクト名:Example
完全クラス名(パッケージ名含む.):org.legna.example.ExampleException
$ serialver -J-Dfile.encoding=UTF-8 -classpath ~/NetBeansProjects/Example/build/classes org.legna.example.ExampleException


というかんじ.-J オプション以下は文字化け対策で,java の出力を UTF-8 にしてる.(オプション指定しても,ターミナルが UTF-8 設定じゃないと化けるけどねw)-classpath オプションは,そのままクラスの入ってるディレクトリへのパス.最後に,完全クラス名を指定する.

ここら辺の話ってよくわかんないね.それに,例外の話がきちんと載ってるところって少ないよね.

0 件のコメント: