cofojaを使ってみました
DbC(Design by Contract)をJavaで実現できるcofojaを使ってみました。
- JDK6u24、eclipse 3.6
- cofoja-1.0-r126.jar
セットアップ
cofojaのページから辿れる”Using Contracts with Eclipse”のとおりにセットアップすれば良いと思うのですが、私の環境では少しだけそのままではダメな点がありました。念のためセットアップ一連のステップを記載しておきます。
ビルドパスにcofojaに必要なライブラリを追加する
プロジェクト・プロパティの中でJavaのビルド・パスにcofoja-1.0-r126.jarとasm-all-3.3.1.jarを追加する。
プロジェクト固有のアノテーション設定を有効にする
プロジェクト・プロパティの中のJavaコンパイラー/アノテーション処理*1で、プロジェクト固有の設定を可能にチェックする。さらにアノテーション処理を使用可能にするにチェック、エディターでの処理を使用可能にするにチェックして、以下のプロセッサ・オプションを設定する。
アノテーション処理のファクトリ・パスを追加する
プロジェクト・プロパティの中のJavaコンパイラ/アノテーション処理/ファクトリ・パスにて、cofoja-1.0-r126.jarの絶対パスを指定する。
これでcofojaをエディタ上で使えるようになっているはずです。
VM引数にcofoja-1.0-r126.jarを指定する
VM引数として、-javaagent:<絶対パス>\cofoja-1.0-r126.jar
これでcofojaを実行時に使えるようになっているはずです。
所感
以前([id:hatenadiary:20110319])、Contract4J5を使ってみましたが、エディタ上の支援がある点、セットアップが楽な点、エラーメッセージが簡潔である点を勘案するとcofojaに部があるような気がします。
*1:pleadesの日本語訳は”注釈処理”ですが