Scala 弗林克斯卡拉罐不';不行&引用;程序导致了一个错误:“quot;

Scala 弗林克斯卡拉罐不';不行&引用;程序导致了一个错误:“quot;,scala,jar,sbt,apache-flink,Scala,Jar,Sbt,Apache Flink,您好,我正在使用sbt new tillrohrmann/flink project.g8创建一个默认项目,然后我只需复制粘贴我的代码并将build.sbt更新为assembly/mainClass:=Some(“artidokuz.flinksv”)。我的包裹名是artidokuz 如果我使用Intelij IDEA或sbt运行我的项目可以运行,但如果我使用sbt清理汇编,然后sbt运行Flink-csv-assembly-0.1-SNAPSHOT.jar(.jar随汇编生成)。我犯了一个错误

您好,我正在使用
sbt new tillrohrmann/flink project.g8
创建一个默认项目,然后我只需复制粘贴我的代码并将build.sbt更新为
assembly/mainClass:=Some(“artidokuz.flinksv”)
。我的包裹名是
artidokuz


如果我使用Intelij IDEA或
sbt运行
我的项目可以运行,但如果我使用
sbt清理汇编
,然后
sbt运行Flink-csv-assembly-0.1-SNAPSHOT.jar
.jar
随汇编生成)。我犯了一个错误

[error] java.lang.RuntimeException: No main class detected.
[error]         at scala.sys.package$.error(package.scala:30)
[error] stack trace is suppressed; run last Compile / bgRun for the full output
[error] (Compile / bgRun) No main class detected.
[error] Total time: 0 s, completed Jan 1, 2020, 10:59:04 PM
如果我尝试FlinkUI将我的.jar推送到服务器,我会得到

org.apache.flink.client.program.ProgramInvocationException: The program caused an error:

为什么我不能生成代码?

请显示您的示例代码。您确定
foo.bar
是正确的FQCN,而不仅仅是一个包吗?顺便说一句,
sbt运行foo/bar.jar
似乎也不对。
sbt运行Flink-csv-assembly-0.1-SNAPSHOT.jar
仍然不对。这将尝试运行两个任务:
run
Flink-csv-assembly-0.1-SNAPSHOT.jar
。您正在
target
文件夹中运行该功能?这是行不通的。请尝试
scala-Flink-csv-assembly-0.1-SNAPSHOT.jar
,但请确保使用与项目相同的scala版本。这是预期的。由于flink依赖项被标记为“provided”(在运行作业时,这些库实际上是由flink环境提供的),因此这些库不会打包到jar中。但是,很明显,您的jar在清单中有一个主类条目,它也找到了主类并尝试运行它。关于
ProgramInvocationException
:您已经启动了flink集群吗?此外,您需要确保您的集群使用与您的项目相同的Scala major.minor版本。因此,当您使用2.11编译时,您的集群也应该是2.11变体。2.12也是如此。