直线的秘密吧 关注:15贴子:6,021
  • 3回复贴,共1


1楼2014-04-19 13:35回复
    可以去google下载protobuf的编译器 支持win平台 就是一个exe
    下载之后就可用它编译你的proto文件为代码了 我这里编译成了java代码


    2楼2014-04-19 13:36
    回复
      protoc --java_out=src/main/java -I../src ../src/google/protobuf/descriptor.proto
      protoc --proto_path=./ --java_out=./ ./payment.proto
      以上是两个编译命令
      D:\>protoc --java_out=. xxx.proto
      不过我用的是第三个 xxx前面与点之间是有一个空格的 意思是编译输出到目前本地 后面是proto配置文件
      protoc就是那个exe文件


      3楼2014-04-19 13:37
      回复
        //package name not required,if not define and not define java_package, will be out put java file to local
        package tutorial;
        //java_package not required,if not define,will be not create map dir
        option java_package = "com.baidu.protobuf";
        //java_outer_classname not required,if not define,The class name will be named proto file name
        option java_outer_classname = "AddressBooks";
        //required: a well-formed message must have exactly one of this field.
        //optional: a well-formed message can have zero or one of this field (but not more than one)
        //repeated: this field can be repeated any number of times (including zero) in a well-formed
        //message. The order of the repeated values will be preserved.
        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;
        }
        我的配置文件如此


        4楼2014-04-19 13:54
        回复