在Windows上安装和使用Protocol Buffers for Java

时间:2017-06-05 06:52:33

标签: java protocol-buffers

在Windows环境中使用Google Protobuf for Java的文档不是很友好,分散并且让新用户感到困惑。这是一个帮助新探险家的小尝试。

2 个答案:

答案 0 :(得分:5)

  1. https://github.com/google/protobuf/releases下载Win32二进制文件 - 在撰写本文时,最新版本为v3.3.0,因此适当的二进制文件为https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-win32.zip
  2. 将此zip文件解压缩到一个目录中,并将其下的bin目录添加到系统路径环境变量中。
  3. 从Github存储库中检出源代码 - 由于v3.3.0是最新版本,因此请检查相同的标记而不是master。
  4. 从步骤1复制protoc.exe并将其粘贴到已检出位置的src目录下。
  5. 继续运行此处提供的maven任务 - https://github.com/google/protobuf/tree/master/java
  6. 在库中运行examples -

    1. 将上面第1步中的protoc.exe复制到首选位置,并确保将该位置添加到Path环境变量中。要确保正确完成,请打开新的命令提示符并运行protoc --version以查看您安装的相应版本。
    2. 为示例中给出的协议格式创建Java包 - 在addressbook.proto中定义here - protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto - 这将生成所需的AddressBookProtos类编译示例代码所需的包com.example.tutorial

    3. 一旦生成的代码在示例类路径中,就可以执行代码。

答案 1 :(得分:2)

作为一种更简单的方法,特别是对于偶尔的用户,您也可以:

  1. 在此处复制并粘贴您的架构片段:https://protogen.marcgravell.com
  2. 选择“(protoc)Java”(或您需要的任何语言),然后单击“生成”
  3. 复制您的代码,或者惊叹于架构片段中的编辑器内错误和警告
  4. 目前的限制:

    • 只有一个输入和输出文档可用 - 这纯粹是一个UI问题(我需要一个标签式编辑器,希望本周工作)
    • 这也意味着“导入”受到很大限制 - 尽管一些内置导入工作正常(例如“google / protobuf / duration.proto”将解析并正常工作)
    • 目前,如果“non protoc”解析器检测到语法错误并且您的架构包含单词“import”,它将不会调用“protoc” - 这是我调查是否可能滥用protoc来访问意外文件