Java providers like AdoptOpenJDK have a large number of different java builds across many platforms and an API to find the available versions and download them. Add in a method to specify the version of java to use in server.json that would download if necessary on server start.
Add a new JDK endpoint into CommandBox
Add a new property dedicated to specifying the Java version range into server.json
Automatically install on server start and dynamically set the jvm.javaHome for the user.