Mac OS X 10.6.7 Java Path Текущий JDK сбивает с толку
У меня проблемы с пониманием (фактические пути и ссылки) для нескольких версий Java на моем Mac OSX. Обычно в Windows, если на моей машине установлено несколько версий, я могу просто выбрать путь к любой версии, которую я хочу, и использовать ее. Но в MAC OS X I я предполагаю, что есть нечто, называемое ссылками, которое указывает на CurrentJDK, и если я хочу использовать другую версию, мне нужно будет изменить ссылку на CurrentJdk, верно? Но что меня смущает, так это то, что, как вы можете видеть ниже, все мои версии указывают на один и тот же CurrentJDK, что означает, что все версии указывают на текущую версию? Я ожидал, что только один из них будет указывать на CurrentJDK, и я мог бы просто изменить его на тот, который мне нужен, что здесь не так. Все, что мне нужно знать, это как найти путь к папке bin(Commands) для каждой версии, чтобы я мог просто использовать его для указания на CurrentJDK? Также подскажите, как изменить ссылку на CurrentJDK.
$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
$ pwd
/System/Library/Frameworks/JavaVM.framework/Versions
$ ls -l
lrwxr-xr-x 1 root wheel 5 Mar 20 11:12 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 Dec 2 2009 1.3.1
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6.0 -> CurrentJDK
drwxr-xr-x 10 root wheel 340 Mar 20 11:13 A
lrwxr-xr-x 1 root wheel 1 Mar 20 11:12 Current -> A
lrwxr-xr-x 1 root wheel 59 Mar 20 11:12 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
6 ответов
Скорее всего, у вас установлен только один jdk, поэтому все программные ссылки указывают на один и тот же jdk. Однако если у вас установлено несколько jdks, вам нужно будет выбрать, какой из них использовать с приложением "Java Preferences" в вашем /Application/Utilities.
Мягкие ссылки, кстати, создаются с помощью ln -s
Команда из Терминала.
Для разных типов JDK или установок у вас будут разные пути.
В Mac OS X Mavericks я нашел следующий путь:
1) Встроенный JRE по умолчанию:
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
2) JDK, загруженные с Apple:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
3) JDK, загруженные из Oracle:
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
Просто запустите следующие команды:
$ brew update
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/
oracle64-1.8.0.45 added
1.8.0.45 added
1.8 added
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
oracle64-1.7.0.79 added
1.7.0.79 added
1.7 added
$ jenv versions
* system (set by /Users/wanluwang/.jenv/version)
1.7
1.7.0.79
1.8
1.8.0.45
oracle64-1.7.0.79
oracle64-1.8.0.45
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
$ jenv global oracle64-1.7.0.79
$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Установите $JAVA_HOME=$(/usr/libexec/java_home) в вашем.bash_profile
или экспортируйте JAVA_HOME = $ (/ usr / libexec / java_home);
echo $ JAVA_HOME
От Apple Технические вопросы и ответы по Java:
Пользовательские настройки
В Mac OS X среда выполнения Java предоставляет API java.util.prefs, который поддерживается стандартным API предпочтений Mac OS X и каталогами. Простое использование этого чистого Java API считывает и сохраняет настройки вашего приложения в ~/Library/Preferences в файле списка свойств Mac OS X. Для приложений, которые уже могут иметь свой собственный формат настроек, эти настройки также должны храниться в каталоге ~/Library/Preferences. В этот каталог можно попасть из кода Java, создав файл с путем System.getProperty("user.home") + "/Library/Preferences/" + "com.example.your.Application". Приложение, которое должно иметь глобальные настройки для всех пользователей, может вместо этого находиться в / Library / Preferences, однако этот каталог недоступен для записи пользователям, не имеющим прав администратора.
На Mac VenturaJDK загружен с Oracle.
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home