With the increasing number of JDK builds and the more frequent release candence, I found it hard to keep track what I had installed in my MacOS and switch between them on the fly.
Even in 2019 my preferred version of Java is 1.8, probably because this is the version I am using at my work. But depending on the occasion I find myself experimenting with newer features from later versions, or even from experimental builds:
- JShell from Java 9 onwards
- EpsilonGC
- The use of
var
since Java 10 - Value types in Project Valhalla builds
- etc…
In addition, nowadays on my personal computer I mainly use Java builds from the AdoptOpenJDK project. But there are other builds which I have installed on my MacOS to try out:
Hence I spent some putting together some bash functions that give me a hand managing and switching between those versions.
For the complete bash script see here, but the highlights are:
- List JKDs
- List Different JDK builds
- Set JDK to a specific version/vendor
Note that java_home=/usr/libexec/java_home