I am on OS X Mavericks and starting learning about protobuf, i download the example from https://code.google.com/p/protobuf/downloads/list
I am successfully able to create the .java file from the proto but while compiling the existing java code using
make java, i am getting following error
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
....
....
Any resolution to this?
Thanks
Met the same problem and finally got it working. Here's what I did(using version 2.6.0) on OSX 10.9:
Do everything java/README.txt
tells you to
if maven package
succeed, you'll get a protobuf-java-2.6.0.jar
under target
folder, for me it's /Users/laike9m/Dev/protobuf-2.6.0/java/target/protobuf-java-2.6.0.jar
.
create ~/Library/Java/Extensions
folder, note: this is platform specific operation, for OS other than OSX it should be $JAVA_HOME/lib/ext
copy protobuf-java-2.6.0.jar
to ~/Library/Java/Extensions
Then you should be able to run make java
successfully.
You need to include libprotobuf.jar
in your CLASSPATH
. Follow the instructions under java/README.txt
in the Protobuf source package to build it.
What @laike9m suggested only partially worked for me. I definitely tried to do everything java/README.txt
as @laike9m suggested. I had to install maven. I used brew
to do that (brew install maven
). I then built the protocol buffers java source using mvn package
. The first time I tried that, it failed due to some obscure-ish error. I built the C++ code using ./configure && make
. Next time I tried to build the java code using mvn package
it worked. It put the resulting jar in a folder called target
. I think went back to the examples area and was able to build the java example using make
but I had to modify the Makefile
by adding the -classpath...
part below:
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
Download protobuf.jar from below link and add jar file into libs folder.Its work for me.
https://code.google.com/archive/p/android-market-api/downloads