目录结构如下:
test.proto的文件内容如下:
syntax="proto2"; package com.eagle.mohrss; option java_outer_classname="TestImport"; message Result{ optional string a=1; optional string b=2; optional string c=3; }
city.proto的文件内容如下:
syntax="proto2";
import public "test.proto";
package test;
//option java_package="com.example.test2";
option java_outer_classname="City";
message Beijing{
optional string cityName =1;
optional int32 capacity=2;
//设置默认值用[default=value]
optional string personCount=3 [default="string-17890"];
enum Corpus{
option allow_alias=true;
UNIVERSAL=0;
WEB=0;
LOCALS=2;
}
optional Corpus corpus=4 [default=UNIVERSAL];
optional com.eagle.mohrss.Result result=5;
}
编译的命令如下:
protoc --proto_path=src/main/java/com/eagle/protobuf/ --java_out=src/main/java/ src/main/java/com/eagle/protobuf/city.proto
- –proto_path: 指定了在哪个目录中搜索import中导入的注意这里是一个路径,不是指向一个文件