OS X Maverick上不存在com.google.protobuf包

use*_*010 9 protocol-buffers osx-mavericks

我在OS X Mavericks上并开始学习protobuf,我从https://code.google.com/p/protobuf/downloads/list下载该示例

我成功地能够从原型创建.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
....
....
Run Code Online (Sandbox Code Playgroud)

有什么决议吗?

谢谢

lai*_*e9m 5

遇到同样的问题,终于搞定了.这是我在OSX 10.9上所做的(使用2.6.0版):

  1. 一切都java/README.txt告诉你

  2. 如果maven package成功了,你会得到一个protobuf-java-2.6.0.jartarget的文件夹,对我来说这/Users/laike9m/Dev/protobuf-2.6.0/java/target/protobuf-java-2.6.0.jar.

  3. 创建~/Library/Java/Extensions文件夹,注意:这是特定于平台的操作,对于OSX以外的操作系统应该是$JAVA_HOME/lib/ext

  4. 复制protobuf-java-2.6.0.jar~/Library/Java/Extensions

那么你应该能够make java成功运行.


Ken*_*rda 2

您需要包含libprotobuf.jar在您的CLASSPATH. 按照 Protobuf 源包中的说明java/README.txt进行构建。