方法 emptyIntList() 未定义
The method emptyIntList() is undefined
我是 Google Protobuf 的新手。尝试使用下面的 student.proto 文件来玩它。
syntax = "proto3";
package rld;
option java_package = "com.rld";
option java_outer_classname = "StudentDTO";
message Student {
string name = 1;
int32 roll = 2;
repeated int32 mark = 3; //Marks in various subjects
}
message StudentDatabase {
repeated Student student = 1;
}
然后我尝试使用下面的 Protobuf 编译器命令编译它。从here,我下载了编译器。
protoc -I=. --java_out=. ./student.proto
编译成功,生成了StudentDTO.java,但是有错误。
在 class 中使用了两种方法 'emptyIntList()' 和 'newIntList()' 但它们没有定义.
现在我的问题是如何解决这些错误,还是我遗漏了什么?
作为新手,我似乎忘记在更新 Protobuf 编译器 时更新 Google Protobuf Runtime。两个版本必须匹配。
这里有 2 个解决方案。
- Maven 用户 - 在您的 POM 文件中包含以下依赖项。
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>x.y.z</version>
</dependency>
- 非 Maven 用户 - 在类路径中包含 protobuf-java-x.y.z.jar。
我是 Google Protobuf 的新手。尝试使用下面的 student.proto 文件来玩它。
syntax = "proto3";
package rld;
option java_package = "com.rld";
option java_outer_classname = "StudentDTO";
message Student {
string name = 1;
int32 roll = 2;
repeated int32 mark = 3; //Marks in various subjects
}
message StudentDatabase {
repeated Student student = 1;
}
然后我尝试使用下面的 Protobuf 编译器命令编译它。从here,我下载了编译器。
protoc -I=. --java_out=. ./student.proto
编译成功,生成了StudentDTO.java,但是有错误。 在 class 中使用了两种方法 'emptyIntList()' 和 'newIntList()' 但它们没有定义.
现在我的问题是如何解决这些错误,还是我遗漏了什么?
作为新手,我似乎忘记在更新 Protobuf 编译器 时更新 Google Protobuf Runtime。两个版本必须匹配。
这里有 2 个解决方案。
- Maven 用户 - 在您的 POM 文件中包含以下依赖项。
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>x.y.z</version>
</dependency>
- 非 Maven 用户 - 在类路径中包含 protobuf-java-x.y.z.jar。