构建protobuf示例应用程序的问题

kla*_*ose 6 java protocol-buffers

我是protobufs的新手,并试图了解更多关于使用它们的信息.我已经下载了从这里打包的protobuf .存档的examples文件夹中有一个README.txt文件,它提供了有关如何构建2个示例应用程序的说明.但是当我按照这些说明构建java应用程序时:

make java
Run Code Online (Sandbox Code Playgroud)

我得到了很多错误,然后是:

100个错误
:* [javac_middleman]错误1

所有100个错误似乎都与类路径相关,因为这是一个典型的例子:

com/example/tutorial/AddressBookProtos.java:37:错误:包com.google.protobuf不存在

关于如何通过这个的任何想法?

jon*_*nas 4

问题是由于某种原因,protobuf在编译期间 jar 没有添加到类路径中。要修复它,您应该打开examples/Makefile并添加 -cp protobuf-java-2.4.1.jar到 java 编译行的末尾javac AddPerson.java ListPeople.java com/example/tutorial/AddressBookProtos.java

PS 如果您使用 maven 构建了 protobufs,则 jar 位于~/.m2/repository/com/google/protobuf/protobuf-java/2.4.1/protobuf-java-2.4.1.jar(jar 的版本可能不同)