Protocol buffers OS X Maverick上不存在com.google.protobuf包
我在OSXMavericks上,开始学习protobuf,我从 我成功地从proto创建了.java文件,但同时使用 制作java时,我遇到以下错误Protocol buffers OS X Maverick上不存在com.google.protobuf包,protocol-buffers,osx-mavericks,Protocol Buffers,Osx Mavericks,我在OSXMavericks上,开始学习protobuf,我从 我成功地从proto创建了.java文件,但同时使用 制作java时,我遇到以下错误 com/example/tutorial/AddressBookProtos.java:91: package com.google.protobuf does not exist com.google.protobuf.GeneratedMessage ^ com/example/tu
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
....
....
对此有任何决议吗
谢谢您需要在
类路径中包含libprotobuf.jar
。按照Protobuf源代码包中的说明进行构建。遇到了相同的问题,最终使其正常工作。以下是我在OSX 10.9上所做的(使用2.6.0版):
执行java/README.txt
告诉您的所有操作
如果maven包
成功,您将在target
文件夹下获得一个protobuf-java-2.6.0.jar,对我来说,它是/Users/laike9m/Dev/protobuf-2.6.0/java/target/protobuf-java-2.6.0.jar
创建~/Library/Java/Extensions
文件夹,注意:这是特定于平台的操作,对于OSX以外的操作系统,它应该是$Java\u HOME/lib/ext
将protobuf-java-2.6.0.jar复制到~/Library/java/Extensions
然后您应该能够成功地运行makejava
。@laike9m建议的方法对我来说只起了部分作用。我确实试着按照@laike9m的建议去做一切java/README.txt
。我必须安装maven。我使用了brew
来实现这一点(brew安装maven
)。然后,我使用mvn包
构建了协议缓冲区java源代码。我第一次尝试时,由于一些模糊的错误,它失败了。我用<代码> /配置和制作< /C> >来构建C++代码。下次我尝试使用mvn包构建java代码时,它成功了。它将生成的jar放在名为target
的文件夹中。我想回到示例区域,可以使用make
构建java示例,但是我必须通过添加下面的-classpath…
部分来修改Makefile
:
javac_middleman: AddPerson.java ListPeople.java protoc_middleman
javac -classpath .:../java/target/protobuf-java-2.6.1.jar:$$CLASSPATH AddPerson.java ListPeople.java com/example/tutorial/AddressBookProtos.java
@touch javac_middleman
从下面的链接下载protobuf.jar并将jar文件添加到libs文件夹中。这对我来说很有用