Launch failed: ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
Keeps it from working on e.g. Ubuntu 20.04 with default JDK. Installing openjdk-8-jre is a workaround here.
The ClassLoader issue probably comes from "swtjar" which implements its own class loader to load architecture-specific jars. There is a merge request to sort it out at https://github.com/mchr3k/swtjar/pull/10 but it is not obvious to me how to build this swtjar from git .
EDIT: Just had to revert the last commit in that pull request, then it built with "ant jar". Now RXTXcomm is the blocker (again).
EDIT2: With
java -Djava.library.path=$PWD/native/Linux/amd64 -jar DW4UI.jarit runs. Need to get the native tree into the jar.In the 4.3.4f commit a PluginLoader.java was introduced which also needs this fixed, but that part doesn't look too difficult. I already have a patch that builds, but I cannot test it before swtjar has been fixed.
EDIT: Above changes pushed. I can now build and run on OpenJDK 11 with the same run-time issues I see on OpenJDK 8. But I need to build first with a branch off pre-4.3.4f, then build again on master tip due to some class sources that have been deleted.
Last edit: Tormod Volden 2020-12-08