[英]Building a Java application with a Google Protocol Buffer JAR file
我有一個myprotofile.proto文件,看起來像這樣
package PBPackage;
message SomeMessage {
required double someItem = 1;
}
我這樣構建它(我在Linux上)
JAVADIR=../../MyJarFile.jar
protoc -I=. --java_out=${JAVADIR} myprotofile.proto
我的Java程序Program.java看起來像這樣
import PBPackage.SomeMessage;
public class Program {
public static void main( String[] args ){
System.out.println( "this is my program" );
}
}
我嘗試像這樣構建Program.java
javac -cp .:MyJarFile.jar Program.java
但是我總是會收到這個錯誤:
Program.java:1 error cannot find symbol
import PBPackage.SomeMessage;
^
symbol: class SomeMessage
location: package PBPackage
我究竟做錯了什么?
最后,請不要告訴我使用一些過於復雜的構建系統,例如ant或maven。
您的JAR文件很可能在與您期望的包不同的包中包含此類。
您可以在protobuf定義文件中使用兩個選項來為生成的代碼顯式指定包和類名:
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
請查看本教程以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.