Sbt 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(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中添加以下内容: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
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中排除。