NetBeansでProtocol Buffersをビルドする

Protocol BuffersはGoogleシリアライズ形式です。
http://code.google.com/p/protobuf/


C++/Python/Javaに対応していて、次のような形式のデータ定義を書いて、この形式を処理するクラスなどを生成してプログラムを書きます。詳しいことはぐぐってください。

message Hoge{
  required int32 id = 1;
  required string name = 2;
}


で、Windowsで使うには、上記のサイトから protobuf-2.2.0.zip (ソース入り)と protoc-2.2.0-win32.zip (変換コマンド)をダウンロードします。
JavaでProtocol Buffersを使うには、変換コマンドとしてprotoc.exeを使ってデータ定義からJavaコードを生成し、Protocl Buffersのライブラリと一緒にコンパイル・実行する必要があるのですが、そのライブラリはバイナリでは配布されていないので、自分でビルドする必要があります。ビルドファイルはMavenのpomファイルになっています。
で、みんなNetBeansを使っていると思うので、NetBeansからProtocol Bufferesのライブラリをビルドする方法を書いておきます。


といっても、注意するのは2点です。
まず、Mavenのpomファイルは、そのままプロジェクトとしてNetBeansで開くことができます。
ただ、これをビルドするとき、NetBeans組み込みのMavenではバージョンが古いようなので、最新のMavenをダウンロードしておきます。
http://maven.apache.org/
オプション画面の その他 > Mavenの外部MavenホームにダウンロードしたMavenのパスを指定しておきます。


これでビルドがある程度できるのですが、../src/protocが無いといって怒られます。
ということで、ソースを解凍したフォルダにsrcというフォルダを作ってがあるので、変換コマンドのprotoc.exeをコピーしておけばビルドが通るようになります。


これでProtocol Buffersが使えるようになると思うので、シリアライズさせまくってどっかに送りつけまくってデシリアイズしまくりましょう。