尝试构建ProtoBuf Java组件时,com.google.protobuf包不存在错误

时间:2018-04-01 17:13:40

标签: java protocol-buffers macos-high-sierra

之前我能够运行make allmake java。我做了make clean,之后make javacom/example/tutorial/AddressBookProtos.java:95: error: package com.google.protobuf does not exist失败。

我遵循了此SO post,但fails

examples $protoc --version
libprotoc 3.5.1

examples $make java
make: Nothing to be done for `java'.

examples $make clean
rm -f add_person_cpp list_people_cpp add_person_java list_people_java add_person_python list_people_python
rm -f javac_middleman AddPerson*.class ListPeople*.class com/example/tutorial/*.class
rm -f protoc_middleman addressbook.pb.cc addressbook.pb.h addressbook_pb2.py com/example/tutorial/AddressBookProtos.java
rm -f *.pyc
rm -f protoc_middleman_go tutorial/*.pb.go add_person_go list_people_go
rmdir tutorial 2>/dev/null || true
rmdir com/example/tutorial 2>/dev/null || true
rmdir com/example 2>/dev/null || true
rmdir com 2>/dev/null || true

examples $make java
protoc $PROTO_PATH --cpp_out=. --java_out=. --python_out=. addressbook.proto
javac -cp $CLASSPATH AddPerson.java ListPeople.java com/example/tutorial/AddressBookProtos.java
com/example/tutorial/AddressBookProtos.java:95: error: package com.google.protobuf does not exist
      com.google.protobuf.GeneratedMessageV3 implements
                         ^
com/example/tutorial/AddressBookProtos.java:19: error: package com.google.protobuf does not exist
      com.google.protobuf.MessageOrBuilder {

我可以使用旧版Protobuf吗?或者我该如何解决此错误。

1 个答案:

答案 0 :(得分:0)

在修复$ CLASSPATH中的错字之前,我遇到了同样的错误。真可悲的是,当classpath中的jar文件不存在时,Javac不会发出更好的错误消息。