目前我正在尝试运行我的第一个flink应用程序。我已经在IDE中测试了java文件(KMeans.java)它工作得很好但是我无法处理这个java文件在命令行中作为jar运行。已成功创建构建mvn clean package。但是,如果我在命令行中运行我的jar文件,flink run -c KMeans name.jar 则会显示以下错误消息:
该程序以以下异常结束:
org.apache.flink.client.program.ProgramInvocationException:在jar文件中找不到程序的入口点类'KMeans'。org.apache.flink.client.program.PackagedProgram.loadMainClass(PackagedProgram.java:617)位于org.apache.fack.client.client的org.apache.flink.client.program.PackagedProgram。(PackagedProgram.java:199)。 cli.CliFrontend.buildProgram(CliFrontend.java:856)atg.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:206)at org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend。 java:1044)at org.apache.flink.client.cli.CliFrontend.lambda $ main $ 11(CliFrontend.java:1120)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs (Subject.java:422)位于org.apache.hadoop.security.UserGroupInformation。
所以我查找了生成的目标文件夹,并在classes文件夹中有一个KMeans.class文件。所以我这样做错了?
您需要指定完整的类名,例如org.apache.flink.examples.java.clustering.KMeans。
请注意,如果JAR文件未指定要在其清单中运行的类,则只需使用-c标志
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。