MacOS antwortet mit mehreren installierten Java-Versionen und ohne Deinstallation
Zeigen Sie mir, welche Java-Versionen ich installiert habe:
$ ls -l /Library/Java/JavaVirtualMachines/
So stellen Sie es auf meine jdk1.8-Version ein:
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac /usr/local/bin/javac
So stellen Sie es auf meine jdk11-Version ein:
$ ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac /usr/local/bin/javac
-------------------------------------------------- ------------------------
Beachten Sie, dass trotz der Aussagen in der Nachricht anscheinend Version 1.8 gewünscht wird und diese Nachricht ausgelöst wird, wenn Sie eine spätere Version haben.
Was folgt, sind meine früheren Versuche, die mich zu der obigen Antwort führten, die dann funktionierte ... Je nachdem, was installiert ist, müssen Sie möglicherweise etwas anderes tun. Vielleicht helfen diese Hinweise:
Stellen Sie es auf meine jdk1.8-Version ein
$ export PATH=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac:$PATH
Stellen Sie es auf meine jdk11-Version ein
$ export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac:$PATH
... aber eigentlich funktioniert das nicht, denn /usr/bin/javac
es läuft immer noch zuerst:
$ which javac
/usr/bin/javac
... um zu sehen, was zuerst auf dem Weg läuft:
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Das heißt, ich kann das überschreiben /usr/bin/javac
... siehe die Befehle oben in der Antwort ...
Der Befehl, es mit jdk1.8 ln
oben in dieser Antwort festzulegen , hat bei mir funktioniert.