簡體   English   中英

使用Google Protocol Buffer JAR文件構建Java應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM