为 .proto 文件设置正确的包名

Setting a correct package name for a .proto file

阅读 Google 协议缓冲区的文档后,我希望在我的客户端中实现它们,到目前为止我有以下内容:

package com.christopher.kade;
option java_package= "protocol";

message Protocol {
    required string keyword = 1;
    optional string value = 2;
    optional string type = 3;
}

但是在生成时,文件作为一个包 "protocol" 因此 IntellIJ 给我以下错误:

Package name 'protocol' does not correspond to the file path 'com.christopher.kade.protocol'

请注意,如果我取消该选项,插件会创建一个名为 com.christopher.kade.

new

我应该在 .proto 文件中添加什么以获得正确的包名称?

我认为您应该在 package 和 java_package 中使用相同的完整包名称才能使其工作:

package com.christopher.kade.protocol;
option java_package= "com.christopher.kade.protocol";