我在同一个文件夹下有3个.proto
个文件,我打算添加LowDataBalanceRequest
和MobileRequest
进入`EventRequest
生成Java源代码的命令:
protoc --java_out=/home/haifzhan/myproject/src/main/java/com/example/util star_event.proto ldb_event.proto generic_event.proto
star_event.proto和ldb_event.proto可以正确生成Java源代码而没有错误,但generic_event.proto有错误(我的观点是显示错误,所以我附上源代码以外的图像) :
Descriptor
实例可能未初始化import "star_event.proto";
import "ldb_event.proto";
message EventRequest {
optional LowDataBalanceRequest ldbRequest = 1;
optional MobileRequest mobileRequest = 2;
}
我正在使用版本2.6.1
有人可以帮忙吗?
答案 0 :(得分:0)
我已经弄清楚了。 关于Github Java: Invalid code generated when referencing a file with no package statement
的相关问题我在所有option java_package
个文件中添加.proto
后错误消失了:
option java_package = "com.example.util";
这是我的完整.proto
个文件:
option java_package = "com.example.util";
<强> ldb_event.proto 强>
option java_package = "com.example.util";
enum RequestTrigger {
LDB = 1;
OTHER = 2;
}
message LowDataBalanceRequest {
required string probe_id = 1;
required int64 unix_time = 2;
}
<强> generic_event.proto 强>
import "star_event.proto";
import "ldb_event.proto";
option java_package = "com.example.util";
message EventRequest {
optional LowDataBalanceRequest ldbRequest = 1;
optional MobileRequest mobileRequest = 2;
}