I'm in the process of developing a B4J console application that is targeted for a Linux OS (an Ubuntu Digital Ocean droplet). The development is being done on a Windows box that is old enough to still have the Java SDK loaded and not OpenJDK. Even though the console application doesn't have any graphical UI, it still needs JFX. It generates some Excel spreadsheets and needs to set color for them. When I compile the application and move it to the droplet and try to run it, I get this error:
root@Ubuntuvpn:/usr/ePAL# java -jar ConsoleTest.jar
main._process_globals (java line: 3089)
java.lang.NoClassDefFoundError: javafx/stage/Window
at b4j.example.main._process_globals(main.java:3089)
at b4j.example.main.initializeProcessGlobals(main.java:3079)
at b4j.example.main.main(main.java:27)
Caused by: java.lang.ClassNotFoundException: javafx.stage.Window
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 3 more
root@Ubuntuvpn:/usr/ePAL# java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)
I assume the issue is JFX in the OpenJDK environment.
My question: Is there a way to accomplish setting color without having JFX loaded (example)
I'm sure I'm being dense. All comments appreciated.
root@Ubuntuvpn:/usr/ePAL# java -jar ConsoleTest.jar
main._process_globals (java line: 3089)
java.lang.NoClassDefFoundError: javafx/stage/Window
at b4j.example.main._process_globals(main.java:3089)
at b4j.example.main.initializeProcessGlobals(main.java:3079)
at b4j.example.main.main(main.java:27)
Caused by: java.lang.ClassNotFoundException: javafx.stage.Window
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 3 more
root@Ubuntuvpn:/usr/ePAL# java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)
I assume the issue is JFX in the OpenJDK environment.
My question: Is there a way to accomplish setting color without having JFX loaded (example)
B4X:
DataRow.GetCell(0).CellStyle.ForegroundColor = fx.Colors.Cyan
I'm sure I'm being dense. All comments appreciated.