Comment by Freak_NL
10 hours ago
The update-java-alternatives tool is suitable for adjusting the JDK for everything at once, but it lacks the ease of use of something like SDKMan when you have one project stuck at Java 8 and another on 11, and another on 17, or perhaps you're testing a branch on 24, etc.
Then it's just:
sdk use java 11.0.29-tem
And in that terminal it will use that, while another terminal happily uses a different version. That's useful when you are running two tools on different Java versions which interact. Installing another version is trivial too.
You can also check in an .sdkmanrc into each respective project which defines the required Java version.
Then SDKMAN! will perform the switch automatically when you enter the directory.
https://sdkman.io/usage/#env-command
direnv is great for switching any envnvariables let given directory.
I use it when I have projects with different jdks or nodejs.