【发布时间】:2017-04-16 18:14:51
【问题描述】:
我计划在我的基于 Scala 的项目中使用 Avro 模式(使用 sbt 构建),并且我正在尝试找出在从我的项目中构建远 jar 时包含基于 Avro 的类的正确方法(使用sbt assembly)。
以下是我想到的步骤列表:
(a) 将avro 架构文件放入src/main/avro
(b) 将架构文件中的java/scala 类生成src/main/java 或src/main/scala
(c) 生成胖罐子。
问题
(i) 完成步骤 (b) 的正确方法是什么?我注意到 Apache Avro 项目提供了一个名为 avro-tools-1.8.1.jar 的 jar 来从模式文件生成 java 类。但是,我不确定如何在基于 sbt 的工作流程中使用这个 jar 文件。
(ii) 我注意到的另一个选项是有第三方 sbt 插件(例如:sbt-avrohugger、scavro、sbt-avro 等)。有推荐的 sbt 插件吗?由于这些是第三方插件,我无法确定哪个是最好的。
【问题讨论】:
标签: java scala sbt avro sbt-assembly