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

Maven构建Apache Flink项目时无法找到org.apache.flink.formats包

问题原因

你在pom.xml中添加的flink-formats是POM类型的聚合依赖,它仅用于模块管理,不会将具体的格式实现类引入项目,因此编译时无法找到org.apache.flink.formats下的相关包。

解决方案

替换pom中的flink-formats依赖,根据你实际使用的格式类型,添加对应的具体实现依赖:

  • 若使用JSON格式:
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-formats-json</artifactId>
    <version>1.18.1</version>
    <!-- 集群运行时设为provided,本地开发则移除该scope -->
    <scope>provided</scope>
</dependency>
  • 若同时使用多种格式(如JSON+CSV),可添加多个对应依赖:
<!-- JSON格式依赖 -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-formats-json</artifactId>
    <version>1.18.1</version>
    <scope>provided</scope>
</dependency>
<!-- CSV格式依赖 -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-formats-csv</artifactId>
    <version>1.18.1</version>
    <scope>provided</scope>
</dependency>

额外注意事项

  • 确保所有Flink依赖版本统一:你的pom中flink-core指定了1.18.1,而flink-java和flink-streaming-java使用${flink.version}变量,需保证该变量值也是1.18.1,避免版本冲突。
  • 本地开发时,移除依赖的provided scope:本地环境没有Flink集群的类加载环境,需要将依赖包纳入本地classpath才能正常编译运行。

你提供的原始pom依赖片段

<dependencies>
    <!-- Apache Flink dependencies -->
    <!-- These dependencies are provided, because they should not be packaged into the JAR file. -->
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-java</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-core</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-parquet</artifactId>
        <version>1.18.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.parquet</groupId>
        <artifactId>parquet-avro</artifactId>
        <version>1.13.1</version>
        <optional>true</optional>
        <exclusions>
            <exclusion>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
            </exclusion>
            <exclusion>
                <groupId>it.unimi.dsi</groupId>
                <artifactId>fastutil</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>1.11.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-connector-files</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-avro</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-formats</artifactId>
        <version>1.18.1</version>
        <type>pom</type>
    </dependency>
</dependencies>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 06:45:58