>firstly i recommend to use Fedora toolbox [0] for this kind of things on Silverblue (it's part of Silverblue already).

Not everything can easily be done in a containerized environment. The game "Minecraft" for example needs a system JRE in order to run as it is written in Java and is installed via a jar file(old launcher anyway). While not ideal, I don't think this is against the Fedora Silverblue containerized idea. That is to say, Java is a semi dynamic extension of the base system and NOT an application.

Yes, it is possible to bundle a Java program with a JRE/JDK in a Flatpak and distribute that. The problem is that it both takes up significant disk space compared to if you were to just use the system JDK and makes it difficult to switch between JRE/JDK versions if need be.


>Secondly, isn't this what modules are meant for? I'm not sure if there is one for JDK on Fedora.

Java 9 modules you mean? Java 9 modules are a way to create a JDK bundle with your app with significantly less fat as only what is needed is included. For distribution of a program written in Java, sure that works as long as the program is modeler... but not all are.

That's the thing: I need to switch between a "server" build of the JDK(uses MORE memory, what every distro ships) and a "client" build(uses less memory, needs to be compiled from source) as well as any other custom builds I might compile or install from time to time. I'd imagine this could be done via the build script but that just complicates things and is specific to the computer the software is being compiled on. It's easier to just quit the IDE(netbeans in my case), switch versions, and start it up again.

The only problem is that the current running JRE/JDK is being (potentially) pulled from under any running Java application that is utilizing the system JRE/JDK and a newer or older version is replacing it. This, however, is a problem in Flatpak applications as well and there doesn't seem to be any solution other than to somehow completely load the application and all of it's library dependencies(Java, Nvidia libs, etc) in memory. Java is not system critical just as the Flatpak runtimes are not system critical.