You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven项目编译时找不到AvroCoder类,需补充什么依赖?

Maven项目编译时找不到AvroCoder类,需补充什么依赖?

嗨,我来帮你捋捋这个问题~

你遇到的cannot find symbol: class AvroCoder错误,核心原因是这个类根本不属于你现在引入的Apache Avro模块,它是Apache Beam SDK里的类!你之前查到的那个类定义其实是Beam的文档,不是Avro的,所以光加Avro的依赖肯定找不到它啦。

要解决这个问题,你需要在Maven里添加Apache Beam核心模块的依赖,因为AvroCoder就定义在beam-sdks-java-core这个模块中。具体的依赖配置如下:

<dependency>
    <groupId>org.apache.beam</groupId>
    <artifactId>beam-sdks-java-core</artifactId>
    <version>2.48.0</version> <!-- 这里要填和你项目匹配的Beam版本,建议用稳定版 -->
    <!-- 如果你的项目是部署到Beam运行环境(比如Dataflow),可以把scope设为provided,避免打包重复依赖 -->
</dependency>

这里有两个小提醒:

  • 版本号一定要和你项目中使用的Apache Beam版本保持一致,如果还没引入其他Beam依赖,选一个近期的稳定版(比如2.48.0)就好
  • 如果你之后需要用Beam的Avro数据读写功能,可能还需要额外引入beam-sdks-java-io-avro依赖,但仅解决当前找不到AvroCoder的问题,上面的核心依赖就足够了

另外,你给出的import列表里都是Avro本身的类,但代码里肯定用到了Beam的AvroCoder,记得确认包路径是org.apache.beam.sdk.coders.AvroCoder,别和Avro的其他类搞混咯~

备注:内容来源于stack exchange,提问作者Alexis Wilke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 19:47:59