【问题标题】:How to fix No processor claimed any of these annotations: org.apache.avro.specific.AvroGenerated?如何修复没有处理器声称这些注释中的任何一个:org.apache.avro.specific.AvroGenerated?
【发布时间】:2021-06-12 13:38:21
【问题描述】:

我遇到了这个错误: No processor claimed any of these annotations: org.apache.avro.specific.AvroGenerated

我是如何得到错误的:

我试图实现 Avro 序列化和反序列化。因此,我使用 sbt-avro 插件从 .avsc 文件中生成了一个 Avro 类。

生成的 Avro 类在@org.apache.avro.specific.AvroGenerated 上方有一个注解。 我尝试将其注释掉,它并没有解决问题,并且不应手动编辑生成的类。

我有点搜索这种错误,它告诉我向 pom xml 添加一些内容。但是,我不确定如何,因此即使尝试将其添加到 pom 中,错误仍然存​​在。

是否有解决此问题的示例 pom xml 以便我可以将其用作指南?或者有什么解决方法吗?谢谢。

【问题讨论】:

  • 这应该只是一个无害的警告。 AvroGenerated 注解只是一个提供信息的运行时标记,它表明这个类是由 Avro 生成的。它不需要由任何(编译器)插件处理。您需要更详细地描述您的项目,以便任何人查明问题。从完整的错误消息开始,它发生的时间,以及来自哪个工具(java?)...
  • 您可以将 -Xlint:-processing 添加到您的 Java 编译器参数中以消除此警告。
  • 嗨@cbley,不幸的是,火花作业服务器不会忽略这些警告。除非解决,否则服务器不会启动。所以为了描述这个项目,我目前正在创建一个 spark 作业,它将使用 Avro 序列化将数据写入 HBase。但是,由于警告导致的编译错误,我无法运行作业本身。

标签: java sbt pom.xml avro sbt-plugin


【解决方案1】:

感谢@cbley,解决方案有效,我只是很难找到放置它的位置。 我正在运行 sbt compile 和 spark-job-server 启动,所以我必须将它添加到我们的 builds.sbt 中

javacOptions ++= Seq(
 "-Xlint:-processing"
)

【讨论】:

    猜你喜欢
    • 2021-11-25
    • 2017-06-16
    • 2019-01-30
    • 2023-01-20
    • 2019-03-20
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    相关资源
    最近更新 更多