Resposta MacOS com várias versões Java instaladas e sem necessidade de desinstalar
Mostre-me quais versões do Java eu instalei:
$ ls -l /Library/Java/JavaVirtualMachines/
Para configurá-lo para minha versão jdk1.8:
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac /usr/local/bin/javac
Para configurá-lo para minha versão jdk11:
$ ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac /usr/local/bin/javac
-------------------------------------------------- -----------------------
Observe que, apesar do que a mensagem diz, parece que significa que ele quer a versão 1.8 e lança esta mensagem se você tiver uma versão posterior versão .
O que se segue são minhas tentativas anteriores que me levaram à resposta acima, que funcionou ... Você pode precisar fazer algo diferente dependendo do que está instalado, então talvez estas notas possam ajudar:
Defina-o para minha versão jdk1.8
$ export PATH=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac:$PATH
Definir para minha versão jdk11
$ export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac:$PATH
... mas na verdade isso não funciona porque /usr/bin/javac
ainda é o que executa primeiro:
$ which javac
/usr/bin/javac
... para ver o que é executado primeiro no caminho:
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Isso significa que posso substituir o /usr/bin/javac
... veja os comandos no início da resposta ...
O comando para defini-lo como jdk1.8 usando ln
, no início desta resposta, é o que funcionou para mim.