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

如何将Apache Beam Direct Runner添加到classpath中?

问题解决方法

根因定位

你当前POM文件中beam-runners-direct-java依赖的<scope>test</scope>配置错误,该范围限制了依赖仅在测试代码执行时加入类路径,主程序的main方法运行时不会加载该依赖,因此报DirectRunner找不到的错误。

修复方案

方案1:修改依赖范围(最简便)

将beam-runners-direct-java的依赖配置中的<scope>test</scope>行删除,或者修改为<scope>runtime</scope>,修改后的依赖配置如下:

<dependency>
    <groupId>org.apache.beam</groupId>
    <artifactId>beam-runners-direct-java</artifactId>
    <version>2.33.0</version>
    <scope>runtime</scope>
</dependency>

修改后重新执行mvn clean install刷新依赖即可。

方案2:代码显式指定Runner(补充方案)

也可以在初始化PipelineOptions的时候手动指定Runner类,避免自动查找失败:

PipelineOptions options = PipelineOptionsFactory.create();
// 显式设置DirectRunner
options.setRunner(DirectRunner.class);
Pipeline p = Pipeline.create(options);

注意:该方案仍需保证DirectRunner依赖在运行时类路径中,所以仍需先处理依赖范围配置问题。

验证方法

修改后重新运行主程序,不再提示找不到DirectRunner的报错即修复成功。

内容的提问来源于stack exchange,提问作者rocksNwaves

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:54:02