我从github克隆了一个项目,现在把它打开作为IntelliJ中的一个项目。该项目是用Scala编写的。
该项目依赖于github上另一个项目中的avro架构中定义的一些对象。 avro架构是单个* .avdl文件。
如何在IntelliJ中的项目中加载avro * .advl架构/文件?
因此,avro架构中定义的对象类型在项目的其余部分中是已知的。
IntelliJ是否识别avro * .advl文件?我是否需要以某种方式从avro advl文件生成Scala / Java类?然后加载这些类?
你试过Avro支持插件吗? https://plugins.jetbrains.com/plugin/7971?pr=idea
我最终做的是:
下载avro工具:https://github.com/miguno/avro-cli-examples/blob/master/README.md
使用jar中的以下工具
idl2schemata Extract JSON schemata of the types from an Avro IDL file
compile Generates Java code for the given schema
我在我的代码中放在正确的包下的生成的java类集。
至少这使得类型检查器在IntelliJ中很开心。还没有运行代码。
我最近开始了一个Avro项目并且因为不得不使用avro-tools.jar而烦恼,所以我制作了一个IntelliJ插件 - https://plugins.jetbrains.com/plugin/12281-avro-viewer。拖放Avro文件,它们以纯文本显示。