一个简单的例子说明了我的问题。
本质上,我正在开发一个大型项目,其代码分散在多个存储库中。在repo 1中有一个Avro架构" S1"在.avdl文件中定义,该文件被编译到其Avro生成的类中。
在repo 2中,它将repo 1的编译工件作为依赖项,我需要创建一个具有多个记录的新模式,并且还需要嵌入" S1"回购图1。
在repo 2中,我有一个IDL文件,其中包含所有repo 2模式,但我无法在此IDL中包含repo 1的模式。我无法导入它,因为在repo 2中我无法访问repo 1中的模式文件。我可以从repo 1访问Avro生成的类,但IDL似乎不支持引用它的方法。
我该怎么做?如果在IDL中这是不可能的,我将如何在JSON中执行此操作? - 谢谢!
答案 0 :(得分:0)
Avro IDL的import语句将首先查找相对于输入文件的命名文件。但如果失败则会查看Java类路径。因此,如果repo 1中的jar文件包含IDL文件,则repo 2中的IDL文件应该能够通过jar文件中的路径导入它。
这似乎没有记录。让我知道它是否适合你。