【发布时间】:2019-02-14 02:45:06
【问题描述】:
目前我正在尝试运行我的第一个 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.flink.client.program.PackagedProgram.(PackagedProgram.java:199) 在 org.apache.flink.client.cli.CliFrontend.buildProgram(CliFrontend.java:856) 在 org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:206) 在 org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:1044) 在 org.apache.flink.client.cli.CliFrontend.lambda$main$11(CliFrontend.java:1120) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:422) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1754) 在 org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41) 在 org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1120) 引起:java.lang.ClassNotFoundException:KMeans at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 java.lang.Class.forName0(本机方法)在 java.lang.Class.forName(Class.java:348) 在 org.apache.flink.client.program.PackagedProgram.loadMainClass(PackagedProgram.java:614) ... 10 更多
所以我查找了我生成的目标文件夹,在 classes 文件夹中有一个 KMeans.class 文件。所以我做错了吗?
【问题讨论】:
标签: macos apache-flink