Eugene-Mark / bigdata-file-viewer

A cross-platform (Windows, MAC, Linux) desktop application to view common bigdata binary format like Parquet, ORC, AVRO, etc. Support local file system, HDFS, AWS S3, Azure Blob Storage ,etc.
GNU General Public License v2.0
282 stars 54 forks source link

Doesn't start on Mac #7

Closed Timmmm closed 3 years ago

Timmmm commented 3 years ago

I downloaded the JDK on Mac and tried to run this but it gives an error:

$ java --version
java 14.0.2 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

$ java -jar BigdataFileViewer-1.2.1-SNAPSHOT-jar-with-dependencies.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821)
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at org.eugene.App.main(App.java:13)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 10 more
Timmmm commented 3 years ago

Perhaps this is the issue.

Eugene-Mark commented 3 years ago

Thanks for the issue. The javafx is not included since JDK 11, so it's not related to the OS, but related to the JDK version used. We need to install javafx to the OS firstly. Check this link for the details.

johnk1 commented 3 years ago

For future reference, something like should work java --module-path ./javafx-sdk-15.0.1/lib --add-modules=javafx.controls,javafx.fxml -jar ./BigdataFileViewer-1.2.1-SNAPSHOT-jar-with-dependencies.jar

Of course depends on your paths and versions.

Eugene-Mark commented 3 years ago

@johnk1 Thanks for this update, it did help.