sharedstreets / sharedstreets-builder

Making maps connectable: stable, non-proprietary IDs and data standards for streets
MIT License
28 stars 12 forks source link

ClassNotFoundException: org.apache.flink.api.common.io.OutputFormat #24

Closed hbruch closed 5 years ago

hbruch commented 5 years ago

After generating the shadow jar via

> gradle shadowJar

I get a java.lang.NoClassDefFoundError when running the builder:

> java -jar build/libs/sharedstreets-builder-0.3.1-all.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/api/common/io/OutputFormat
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.api.common.io.OutputFormat
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

Apparently, the implicit flink-core dependency is not included in the shadow.jar.

hbruch commented 5 years ago

build.gradle defines a task 'allJars' which generates a shadow jar containing all required libs.

So I had to build using

> gradle allJars