protocbuf3.5生成的java文件中报错

public final Builder setUnknownFields(
    final com.google.protobuf.UnknownFieldSet unknownFields) {
  return super.setUnknownFieldsProto3(unknownFields);
}
 
 
public static cn.nhorizon.ads.server.domain.LieBaoProtos.User parseFrom(
    java.nio.ByteBuffer data)
    throws com.google.protobuf.InvalidProtocolBufferException {
  return PARSER.parseFrom(data);
}
public static cn.nhorizon.ads.server.domain.LieBaoProtos.User parseFrom(
    java.nio.ByteBuffer data,
    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
    throws com.google.protobuf.InvalidProtocolBufferException {
  return PARSER.parseFrom(data, extensionRegistry);
}

类型错误。

其实原因很简单,也不知到为什么,我竟然查了好久才找到原因。

就是本地用的3.5,项目中用的3.1。想着都是proto3,应该没问题,那就大错特错了。

为了这个问题,特地去github上看了下源码,不出所料,3.5中有新增的对java.nio.ByteBuffer类型的支持,3.1中是没有的。

安装注意问题:

将protobuf所在路径:usr/local/bin 、usr/local/bin/pkgconfig 加入到环境变量中.


猜你喜欢

转载自blog.csdn.net/qq_38572383/article/details/80679622