Sbt flink使用流sql查询上载作业时出现问题

Sbt flink使用流sql查询上载作业时出现问题,sbt,apache-flink,flink-streaming,flink-sql,Sbt,Apache Flink,Flink Streaming,Flink Sql,我使用了最新的flink版本(1.10.0)和sbt(1.3.7)。使用流式sql查询上载作业时出现此异常: 原因:java.lang.ClassCastException:org.codehaus.janino.CompilerFactory无法强制转换为org.codehaus.commons.compiler.ICompilerFactory 位于org.codehaus.commons.compiler.compilerFactory.getCompilerFactory(Compile

我使用了最新的flink版本(1.10.0)和sbt(1.3.7)。使用流式sql查询上载作业时出现此异常:

原因:java.lang.ClassCastException:org.codehaus.janino.CompilerFactory无法强制转换为org.codehaus.commons.compiler.ICompilerFactory 位于org.codehaus.commons.compiler.compilerFactory.getCompilerFactory(CompilerFactoryFactory.java:129) 位于org.codehaus.commons.compiler.compilerFactory.getDefaultCompilerFactory(CompilerFactoryFactory.java:79) 位于org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.compile(JaninoRelMetadataProvider.java:432)

当我用sbt run运行主课时,它运行得非常好。我使用sbt assembly命令创建了jar,库之间存在冲突。因此,在build.sbt中添加以下内容:

assemblyMergeStrategy in assembly := {
     case PathList("META-INF", xs @ _*) => MergeStrategy.discard
     case x => MergeStrategy.first
    }
我读过一篇关于蜂巢连接器的类似案例,答案如下:

之后,flink客户端将使用默认的子级优先解析顺序。 如果用户jar有一些冲突依赖项,就会出现一些问题

我的问题是:如何解决这些冲突?对于这种情况,有什么程序集合并策略建议吗? 非常感谢您的帮助。

我也有同样的问题。 也许您已经用
flink-table-planner\u${scala.binary.version}
打包了代码,所以您需要使用这些设置更改maven配置:

    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-planner_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-planner-blink_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-planner_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>

org.apache.flink
flink-table-planner_${scala.binary.version}
${flink.version}
假如
org.apache.flink
flink-table-planner-blink{scala.binary.version}
${flink.version}
假如
org.apache.flink
flink-table-planner_${scala.binary.version}
${flink.version}
假如

尝试将janine从非flink依赖项中排除,或者至少将其从fat jar中排除。