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

Apache Beam升级到2.50.0时出现MemoryMonitorOptions缺失错误

解决Apache Beam 2.50.0升级后mvn compile:exec报NoClassDefFoundError的问题

问题根源

org.apache.beam.sdk.options.MemoryMonitorOptions在Apache Beam 2.48.0版本中已被移除(此前已标记为废弃),升级到2.50.0后,项目中仍存在对该类的依赖,或Maven依赖缓存/ClassPath中残留了旧版本Beam包导致冲突。

解决步骤

  • 全局清理旧类引用
    搜索项目所有文件(Java代码、配置文件、pom.xml),找到所有MemoryMonitorOptions的引用并替换:

    • 若用于内存监控逻辑,改用Beam 2.48+提供的ResourceHints或直接通过PipelineOptions的setWorkerMemoryMb()方法配置内存参数
    • 移除pom.xml中任何显式依赖该类的配置
  • 清理Maven依赖缓存
    执行以下命令强制更新依赖,清除本地仓库中的旧版本Beam包:

    mvn clean install -U
    

    用mvn dependency:tree检查依赖树,确保没有同时引入2.46.0和2.50.0版本的Beam模块,尤其是beam-sdks-java-core或beam-sdks-java-options

  • 修正exec-maven-plugin配置
    确保插件使用项目的Runtime ClassPath,避免自定义ClassPath引入旧依赖:

    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>3.1.0</version>
      <configuration>
        <mainClass>你的主类全限定名</mainClass>
        <classpathScope>runtime</classpathScope>
      </configuration>
    </plugin>
    
  • 验证执行流程
    先执行mvn clean compile确保编译无错误,再运行mvn compile:exec验证结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 18:42:11