Closed ctrueden closed 2 months ago
The Java launcher needs to know:
And ideally, the Java launcher would be able to move staged files (from the update
folder) into place before launching the appropriate Java.
We are switching the Fiji launcher to a new one we made called Jaunch. It is much more flexible than the built-in Java jpackage
standalone app bundling tool.
Jaunch does not quite eliminate all native code, but it does drastically reduce the C footprint in favor of using Kotlin for most of the heavy lifting.
We want to evaluate whether it's possible to have a pure Java launcher.
The native portion would be some stock launcher such as the JavaFX launcher (see #33), or the newer experimental jpackage tool.
Probably, once Java starts up, it would need to find a suitable JDK on the system to use for actually launching the main application, and "spawn Java from Java." This gives us the power to do things like:
Regarding splash screens: the current launcher code here now uses a pure-Java splash mechanism with minimal class loading, which is fast enough and also cross platform.