Unable to launch Desktop-Version on CentOS

I’m trying to run the desktop application of GanttProject on an up-to-date CentOS 8 machine. I’ve downloaded the zip-file with ganttproject-3.1.3100, extracted it and installed java with sdk install java 16.0.1.fx-librc. When I try to run the file ./ganttproject in the top folder I get the following error:

INFO: Writing log to file /home/user/.ganttproject.d/logs/.ganttproject-20210722145537.log
Jul 22, 2021 12:55:37 PM com.bardsoftware.eclipsito.runtime.ApplicationLauncher launchApplication
WARNING: Unable to make field private static java.lang.String sun.awt.X11.XToolkit.awtAppClassName accessible: module java.desktop does not “opens sun.awt.X11” to unnamed module @2efa9029
java.lang.reflect.InaccessibleObjectException: Unable to make field private static java.lang.String sun.awt.X11.XToolkit.awtAppClassName accessible: module java.desktop does not “opens sun.awt.X11” to unnamed module @2efa9029
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
at net.sourceforge.ganttproject.AppKt.startUiApp(App.kt:76)
at net.sourceforge.ganttproject.GanttProject.main(GanttProject.java:934)
at net.sourceforge.ganttproject.application.MainApplication.run(MainApplication.java:39)
at com.bardsoftware.eclipsito.runtime.ApplicationLauncher.launchApplication(ApplicationLauncher.java:29)
at com.bardsoftware.eclipsito.runtime.Runner.run(Runner.java:36)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)

What could be the reason? How can I get it to run?
Many thanks

You need Java 11 with JavaFX. Java 16 is known to be incompatible.

1 Like

That was it, many thanks! After sdk install java 11.0.12.fx-librca it works. My bad, when reading GanttProject requires Java Runtime version 11+ with JavaFX modules I misunderstood it to be any version larger than 11…

It works with larger versions, up to Java 15. However, it seems that Java 16 started enforcing cross-module security restrictions, and what worked in Java 15 would not work anymore.

Anyway, we recommend using a LTS (long-term-support) Java Runtime.