google下载protobuf,http://code.google.com/p/protobuf/downloads/list
#tar jxvf protobuf-2.4.1.tar.bz2
#cd protobuf-2.4.1
#./configure
#make
#sudo make install
运行,ubuntu下默认报错
protoc: error while loading shared libraries: libprotobuf.so.7: cannot open shared object file: No such file or directory
protoc: error while loading shared libraries: libprotoc.so.7: cannot open shared object file: No such file or directory
建一下硬链接
#cd /usr/lib
#sudo ln -s /usr/local/lib/libprotobuf.so.7 libprotobuf.so.7
#sudo ln -s /usr/local/lib/libprotoc.so.7 libprotoc.so.7
接下来写一个.proto扩张名的文件
addressbook.proto
package tutorial;
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phone = 4;
}
message AddressBook {
repeated Person person = 1;
}
编译程java代码
# protoc --java_out=./
addressbook.proto
ok,我们的java文件生成了,引入工程会报错,这时候还需要一个protobuf-java-2.4.1.jar
#cd /path/protobuf-2.4.1/java
#mvn package #需要mvn支持
编译完成在target下面就能找到protobuf-java-2.4.1.jar了,拷贝到工程lib下面就好