Réponse MacOS avec plusieurs versions de Java installées et pas besoin de désinstaller
Montrez-moi les versions de Java que j'ai installées:
$ ls -l /Library/Java/JavaVirtualMachines/
Pour le définir sur ma version jdk1.8:
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac /usr/local/bin/javac
Pour le définir sur ma version jdk11:
$ ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac /usr/local/bin/javac
-------------------------------------------------- -----------------------
Notez que, malgré ce que dit le message, il semble que cela signifie qu'il veut la version 1.8, et envoie ce message si vous avez une version ultérieure .
Ce qui suit est mes tentatives précédentes qui m'ont conduit à la réponse ci-dessus, qui a ensuite fonctionné ... Vous devrez peut-être faire quelque chose de différent en fonction de ce qui est installé, alors peut-être que ces notes pourraient vous aider:
Réglez-le sur ma version jdk1.8
$ export PATH=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac:$PATH
Réglez-le sur ma version jdk11
$ export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac:$PATH
... mais en fait cela ne fonctionne pas car /usr/bin/javac
c'est toujours ce qui s'exécute en premier:
$ which javac
/usr/bin/javac
... pour voir ce qui s'exécute en premier sur le chemin:
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Cela signifie que je peux remplacer le /usr/bin/javac
... voir les commandes en haut de la réponse ...
La commande pour le définir sur jdk1.8 en utilisant ln
, en haut de cette réponse, est ce qui a fonctionné pour moi.