Hi,Yun Tang
 Thanks for help. The first option makes the package process heavy, the second 
will make a change to flink’s lib folder. And the -yt cannot help also, because 
I need these dependencies before it’s submitted on yarn, and I did use -yt to 
submit my job and failed.


 Best, Jiayi Liao


Original Message
Sender:Yun tangmyas...@live.com
Recipient:bupt_ljybupt_...@163.com; useru...@flink.apache.org
Date:Wednesday, Sep 12, 2018 17:53
Subject:Re: What is the right way to add classpath?


Hi Jiayi


As far as I know, there exist three ways:
Build the fat-application jar with dependencies using maven-shade-plugin or 
maven-assembly-plugin.Copy the dependency jars to local ${FLINK_HOME}/lib 
folder.Submit the job with-yt,--yarnship args command, please refer to 
https://ci.apache.org/projects/flink/flink-docs-release-1.6/ops/cli.html#usage
Best
Yun Tang

From: bupt_ljy bupt_...@163.com
 Sent: Wednesday, September 12, 2018 16:34
 To: user
 Subject: What is the right way to add classpath?

Hi,all
 My program needs some dependencies before it’s submitted to yarn. Like:
 ```
 stream.filter(new FilterService()).print()
 env.execute()
 ```
 I use external dependency inFilterService, and the program reports 
NoClassDefFoundError at  
 
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:529)


 Now my solution is changing the bin/flink and add my classpath into it.
 Any better ideas?
 Thanks.


 Best, Jiayi Liao

Reply via email to