Versions suffixed with ~ should alter the matching rules, such that the closest matching version among the already installed JDKs is selected.
17~ should find the newest installed 17.x, failing if no 17.x is installed
17+~ should find the newest installed, failing if the newest installed is less than 17
This can minimize downloads when used for tasks where having the latest JDK is not critical.