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

Install and use Protocol Buffers for Java on Windows

在 Windows 环境中将 Google Protobuf 用于 Java 的文档不是很友好,分散且使新用户感到困惑。这是一个小小的尝试,可以帮助新探索者。

  1. https://github.com/google/protobuf/releases - At the time of writing, the latest is v3.3.0 and hence appropriate binary is https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-win32.zip
  2. 下载 Win32 二进制文件
  3. 将此zip文件解压到一个目录下,并将其下的bin目录添加到系统路径环境变量中
  4. 从 Github 存储库中检出源代码 - 由于 v3.3.0 是最新版本,因此检出相同的标签而不是 master。
  5. 从步骤 1 复制 protoc.exe 并将其粘贴到签出位置的 src 目录下。
  6. 继续 运行 此处提供的 Maven 任务 - https://github.com/google/protobuf/tree/master/java

到运行图书馆的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 - 这会生成required AddressBookProtos class 包下 com.example.tutorial 是编译示例代码所必需的。

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

作为更简单的方法,尤其是对于偶尔使用的用户,您还可以:

  1. 将您的架构片段复制并粘贴到此处:https://protogen.marcgravell.com
  2. select “(protoc) Java”(或您需要的任何语言),然后单击 "generate"
  3. 复制您的代码,或惊叹于您的架构片段中的编辑器内错误和警告

当前限制:

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