This is my java versions:
Matching Java Virtual Machines (4):
16.0.1 (x86_64) "Oracle Corporation" - "Java SE 16.0.1" /Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home
11.0.12 (x86_64) "Oracle Corporation" - "Java SE 11.0.12" /Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home
1.8.291.10 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_291 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
I used to be able to switch between versions like this:
export JAVA8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_HOME=$JAVA8_HOME
alias usejava8="export JAVA_HOME=$JAVA8_HOME"
alias usejava11="export JAVA_HOME=$JAVA11_HOME"
But now, I don't know what happened, whenever I try to use java8, it still points to Java 16. I even run export path manually but it doesn't work.
/usr/libexec/java_home -v 16
/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home
/usr/libexec/java_home -v 8
/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home
/usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home
So my Java 16 and 11 are pointed to the correct home, but my machine points 8 to 16. How do I fix this?