有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

python如何将ApachAvroIDL编译成java?

我有一个ApacheAvro IDL,它定义了一个我想在java客户机和用Python编写的服务器之间使用的协议

@namespace("myproto.proto")

protocol myproto 
{

  enum Status
  {
    STATUS_OK,
    STATUS_ERROR
  }

  record GameList
  {
    array<string> games;
  }

  void somefunc(int arg);
}

对于Python,我使用以下方法:

AVROTOOLS=$(TOOLS_PATH)/avro-tools-1.7.4.jar
java -jar $(AVROTOOLS) idl fairunfair.avdl fairunfair.avpr

如何将IDL编译成Java?如果可能的话,不使用maven


共 (1) 个答案

  1. # 1 楼答案

    您可以使用avro工具从IDL生成JSON模式:

    java -jar avro-tools-1.7.4.jar idl /path/to/idl
    

    然后像往常一样将模式编译成Java:

    java -jar avro-tools-1.7.4.jar compile schema /path/to/schema .
    

    我不认为有任何方法可以直接从IDL编译成Java。avro tools help(avro工具帮助)菜单没有显示此类选项