在eclipse中使用protobuf-dt插件进行序列化时遇到的问题

      使用protobuf-dt插件比在命令行使用命令方便,但是这个插件的下载地址要翻墙,速度也不理想,所以我在资源里上传了一份,下载地址为:protobuf-dt   ,这是一个zip包,安装方式以eclipse-4.4-luna-sr2为例,在eclipse菜单栏点击“Help"---->"Install New Software",弹出如下界面:



    点击"Add"按钮,出现如下所示对话框:



     点击"Archive"按钮,选择你刚才下载的zip包,然后在"Name"框里输入一个名字,点击"OK"后,过一会会在上一个窗口中出现一个插件选项,你勾选一下,点击下面的“Next"一路进行就安装成功了。


    这里主要记录一下使用过程中遇到的问题,第一个问题是因为protobuf-dt插件可以配置为只要保存一次proto文件,插件就会编译一次,所以当我新建完proto文件后并保存后,eclipse控制台马上就有反应了:

[command] D:\protobuf\bin\protoc.exe --proto_path=D:\project\第四章\demo_04\src --java_out=D:\project\第四章\demo_04\src-gen D:\project\第四章\demo_04\src\com\hjc\demo\pb\demo.proto
[protoc]  D:\project\第四章\demo_04\src: warning: directory does not exist.
[protoc]  D:\project\第四章\demo_04\src\com\hjc\demo\pb\demo.proto: No such file or directory
 

    

     明明那些目录和文件都在,为什么还是报not exist呢,原因是我的路径中使用了中文,我改为英文后,这个错误消失了:

[command] D:\protobuf\bin\protoc.exe --proto_path=D:\project\master\four\demo_04\src --java_out=D:\project\master\four\demo_04\src-gen D:\project\master\four\demo_04\src\demo.proto
[protoc]  [libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: demo.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
      
      出现了第二个错误,这是因为我protobuf的编译器protoc.exe使用的是3.5.0版本,估计是3.0和2.0版本语法有一些不同,所以使用高版本时,编译时就会提示你必须设置语法版本,所以我在proto文件第一行添加了使用语法proto2:
syntax = "proto2"; //要在第一行设置语法版本
option java_outer_classname = "DemoProto";


message Obj1 {
	required int32 val1 = 1;
	repeated Obj2 val2 = 2;
}


message Obj2 {
	required string subval1 = 1;
	optional double subval2 = 2;
}

      最后编译成功了



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值