Відповідь MacOS із встановленими декількома версіями Java і не потрібно видаляти
Покажіть, які версії Java я встановив:
$ ls -l /Library/Java/JavaVirtualMachines/
Щоб встановити його на мою версію jdk1.8:
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac /usr/local/bin/javac
Щоб встановити його на мою версію jdk11:
$ ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac /usr/local/bin/javac
-------------------------------------------------- -----------------------
Зверніть увагу, що, незважаючи на те, що сказано в повідомленні, здається, це означає, що він хоче версію 1.8, і видає це повідомлення, якщо у вас є пізніший версія.
Далі йдеться про мої попередні спроби, які приводять мене до наведеної вище відповіді, яка потім спрацювала ... Можливо, вам доведеться зробити щось інше залежно від того, що встановлено, тож, можливо, ці примітки можуть допомогти:
Встановіть його на мою версію jdk1.8
$ export PATH=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac:$PATH
Встановіть його на мою версію jdk11
$ export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac:$PATH
... але насправді це не працює, тому що /usr/bin/javac
все-таки першим запускається:
$ which javac
/usr/bin/javac
... щоб побачити, що першим проходить по шляху:
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Це означає, що я можу перевизначити /usr/bin/javac
... див. Команди у верхній частині відповіді ...
Команда, щоб встановити його на jdk1.8, використовуючи ln
, вгорі цієї відповіді, спрацювала для мене.