我刚开始使用flink jar开发,下载了官方文档快速入门的wordcount的测试案例,不知道为什么会报找不到main方法的错误。
原因:Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。这个错误发生只在运行时需要加载对应的类不成功,而不是编译时发生。包冲突问题官网文档有描述,您可以参考下
https://help.aliyun.com/zh/flink/user-guide/develop-a-jar-draft?spm=a2c4g.11186623.0.i23
社区可参考的文章:
https://blog.csdn.net/jamesjxin/article/details/46606307?spm=ata.21736010.0.0.67727536K2FTte
此回答整理自钉群“实时计算Flink产品交流群”
这个问题可能是因为你没有正确地编译和打包Flink程序。请按照以下步骤操作:
确保你已经安装了Java Development Kit (JDK) 和 Apache Maven。
使用Maven命令行工具,进入到包含flink-quickstart-java
目录的父目录。例如:
cd path/to/your/flink-quickstart-java/parent/directory
mvn clean package
编译成功后,你会在target
目录下看到一个名为flink-quickstart-java-0.1_2.11-SNAPSHOT.jar
的文件。这个文件就是你需要执行的Flink程序。
使用以下命令运行Flink程序:
java -cp target/flink-quickstart-java-0.1_2.11-SNAPSHOT.jar org.apache.flink.quickstart.WordCount <input> <output>
其中,<input>
是输入数据的路径,<output>
是输出结果的路径。例如:
java -cp target/flink-quickstart-java-0.1_2.11-SNAPSHOT.jar org.apache.flink.quickstart.WordCount hdfs://localhost:9000/user/root/input hdfs://localhost:9000/user/root/output
如果你仍然遇到找不到main方法的错误,请检查你的项目是否正确地使用了Flink提供的依赖库。你可以在pom.xml
文件中查看这些依赖库的配置。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。