Hi Gyula, I've typically added external library dependencies to my own application JAR as shaded-dependencies. This ensures that all dependencies are included with my application while being distributed to Flink Job Manager & Task Manager instances.
Another approach is to place these external JARs in the 'lib' sub-directory of your Flink installation. Keep in mind that the external JARs must be installed on every Flink node where your application is expected to run. This works well for dependencies that are large in size or used by multiple Flink applications in your cluster (avoid duplication of dependencies). Best, --Scott Kidder On Mon, Nov 14, 2016 at 7:59 AM, Gyula Fóra <gyula.f...@gmail.com> wrote: > Hi, > > I have been trying to use the -C flag to add external jars with user code > and I have observed some strange behaviour. > > What I am trying to do is the following: > I have 2 jars, JarWithMain.jar contains the main class and UserJar.jar > contains some classes that the main method will eventually execute and also > depends on classes from JarWithMain. > > Running this works: > flink run .... -C UserJar.jar -c MainMethod JarWithMain.jar args... > > Running this leads to no class def found errors in the StreamTask > initialization where it reads the functions from the config: > flink run .... -C JarWithMain.jar -c MainMethod UserJar.jar args... > > Did I miss something? > > Cheers, > Gyula >