I think tison's answer is on point. All the Flink cli options should be specified before the user jar. We have a very clear help message.
Syntax: run [OPTIONS] <jar-file> <arguments> Best, Yang Jingsong Li <jingsongl...@gmail.com> 于2020年3月6日周五 下午10:27写道: > Hi tison and Aljoscha, > > Do you think "--classpath can not be in front of jar file" is an > improvement? Or need documentation? Because I used to be confused. > > Best, > Jingsong Lee > > On Fri, Mar 6, 2020 at 10:22 PM tison <wander4...@gmail.com> wrote: > >> I think the problem is that --classpath should be before the user jar, >> i.e., /opt/flink/job/kafkaDemo19-1.0-SNAPSHOT.jar >> >> Best, >> tison. >> >> >> Aljoscha Krettek <aljos...@apache.org> 于2020年3月6日周五 下午10:03写道: >> >>> Hi, >>> >>> first a preliminary question: does the jar file contain >>> com.alibaba.fastjson.JSON? Could you maybe list the contents of the jar >>> here? >>> >>> Best, >>> Aljoscha >>> >>> On 06.03.20 13:25, ouywl wrote: >>> > Hi all >>> > When I start a flinkcluster in session mode, It include jm/tm. >>> And then I >>> > submit a job like ‘bin/flink run —jobmanager “ip:8081” —class path >>> a.jar’. Even >>> > the a.jar in all jm/tm and ‘bin/flink’ mechine . It will throw >>> exception “ >>> > /opt/flink/bin/flink run --jobmanager ip:8081 --class >>> > com.netease.java.TopSpeedWindowing --parallelism 1 --detached >>> > /opt/flink/job/kafkaDemo19-1.0-SNAPSHOT.jar --classpath >>> > file:///opt/flink/job/fastjson-1.2.66.jar >>> > Starting execution of program >>> > Executing TopSpeedWindowing example with default input data set. >>> > Use --input to specify file input. >>> > java.lang.NoClassDefFoundError: com/alibaba/fastjson/JSON >>> > at com.netease.java.TopSpeedWindowing.main(TopSpeedWindowing.java:98) >>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> > at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>> > at >>> > >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> > at java.lang.reflect.Method.invoke(Method.java:498) >>> > at >>> > >>> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:576) >>> > at >>> > >>> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:438) >>> > at >>> org.apache.flink.client.program.ClusterClient.run(ClusterClient.java:274) >>> > at >>> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:746)” >>> > As I read the code , flink cli have not load the —classspath jar, >>> So It seems >>> > a bug about the flink cli. Are you agree with me? >>> > Best, >>> > Ouywl >>> > >>> >> > > -- > Best, Jingsong Lee >