gpt4 book ai didi

maven - Flink 的 Quickstart 没有创建一个合适的 fat-jar

转载 作者:行者123 更新时间:2023-12-04 21:29:55 28 4
gpt4 key购买 nike

我绝对不是 mvn 的专家,但是经过 2 天的黑客攻击,我只是放弃了。

我的工作流程:

1.     
mvn archetype:generate
-DarchetypeGroupId=org.apache.flink
-DarchetypeArtifactId=flink-quickstart-scala
-DarchetypeVersion=0.10.1
-DgroupId=org.apache.flink.quickstart
-DartifactId=flink-scala-project
-Dversion=0.1
-Dpackage=org.apache.flink.quickstart
-DinteractiveMode=false

2.
cd flink-scala-project

3.
mvn clean package

这是一个构建 log: https://gist.github.com/zavalit/1e78478ebdda827f3454当我运行时
`java -jar target/flink-scala-project-0.1.jar`

我得到
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/api/scala/ExecutionEnvironment$
at org.apache.flink.quickstart.Job$.main(Job.scala:41)
at org.apache.flink.quickstart.Job.main(Job.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.api.scala.ExecutionEnvironment$
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 2 more

最佳答案

您正在构建的胖 jar 不应该在集群环境之外运行。因此,所有运行在集群环境中的 Flink 相关依赖都被排除在 fat jar 之外。

你通常对生成的 fat jar 做的是通过 bin/flink run -c org.example.MyJob myFatJar.jar 将它提交到本地或远程集群。 .为了快速启动本地集群,您可以运行 bin/start-local.sh .这将启动一个本地集群,您可以将作业 jar 提交到该集群。

关于maven - Flink 的 Quickstart 没有创建一个合适的 fat-jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35777348/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com