我在 OS X Mavericks 上并开始学习 protobuf,我从 https://code.google.com/p/protobuf/downloads/list 下载示例
我能够成功地从 proto 创建 .java 文件,但是在使用编译现有的 java 代码时
make java,我收到以下错误
com/example/tutorial/AddressBookProtos.java:91: package com.google.protobuf does not exist
com.google.protobuf.GeneratedMessage
^
com/example/tutorial/AddressBookProtos.java:12: package com.google.protobuf does not exist
extends com.google.protobuf.MessageOrBuilder {
^
com/example/tutorial/AddressBookProtos.java:9: package com.google.protobuf does not exist
com.google.protobuf.ExtensionRegistry registry) {
^
com/example/tutorial/AddressBookProtos.java:2495: package com.google.protobuf.Descriptors does not exist
private static com.google.protobuf.Descriptors.Descriptor
^
com/example/tutorial/AddressBookProtos.java:2498: package com.google.protobuf.GeneratedMessage does not exist
com.google.protobuf.GeneratedMessage.FieldAccessorTable
....
....
对此有任何解决方案吗?
谢谢
最佳答案
遇到了同样的问题,终于让它工作了。这是我在 OSX 10.9 上所做的(使用 2.6.0 版):
java/README.txt
告诉你maven package
成功,你会得到一个 protobuf-java-2.6.0.jar
下 target
文件夹,对我来说是 /Users/laike9m/Dev/protobuf-2.6.0/java/target/protobuf-java-2.6.0.jar
. ~/Library/Java/Extensions
文件夹,注意:这是特定于平台的操作,对于 OSX 以外的操作系统,它应该是 $JAVA_HOME/lib/ext
protobuf-java-2.6.0.jar
至 ~/Library/Java/Extensions
然后你应该可以运行
make java
成功地。
关于protocol-buffers - OS X Maverick 上不存在包 com.google.protobuf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181852/