sunmingtao / sample-code

3 stars 4 forks source link

How to switch between Java 8 and 11 on a Windows shell (git bash) #203

Closed sunmingtao closed 3 years ago

sunmingtao commented 3 years ago

Suppose the windows path has JAVA_HOME set to java 11 path

To verify, open the terminal, java -version, expected to see java 11

In .bash_profile, add

alias java8='PATH="/c/Program Files/Java/jdk1.8.0_241/bin":$PATH'
alias java11='PATH=$(echo $PATH | sed "s/\/c\/Program Files\/Java\/jdk1.8.0_241\/bin://g")'
sunmingtao commented 3 years ago

Follow up issue: after switching to java 8, mvn still runs with java11.

Maven home: D:\apache-maven-3.6.3
Java version: 11.0.6, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.6

mvn uses JAVA_HOME to determine which java version to run.

Enhance the aliases

alias java8='PATH="/c/Program Files/Java/jdk1.8.0_241/bin":$PATH ; export JAVA_HOME="/c/Program Files/Java/jdk1.8.0_241"'
alias java11='PATH=$(echo $PATH | sed "s/\/c\/Program Files\/Java\/jdk1.8.0_241\/bin://g") ; export JAVA_HOME=""'