Mac OS X 10.6.7 Java Path Текущий JDK сбивает с толку - PullRequest
53 голосов
/ 26 мая 2011

У меня проблемы с пониманием (фактические пути и ссылки) для нескольких версий Java на моем Mac OSX.Обычно в Windows, если на моей машине установлено несколько версий, я могу просто выбрать путь к любой версии, которую я хочу, и использовать ее.Но в MAC OS XI я предполагаю, что есть нечто, называемое ссылками, которое указывает на 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

Ответы [ 5 ]

60 голосов
/ 17 июля 2014

Для разных типов 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
14 голосов
/ 26 мая 2011

Скорее всего, у вас установлен только один jdk, поэтому все программные ссылки указывают на один и тот же jdk. Однако если у вас установлено несколько jdks, вам нужно будет выбрать, какой из них использовать с приложением «Java Preferences» в вашем /Application/Utilities.

.

Мягкие ссылки, кстати, создаются командой ln -s из Терминала.

4 голосов
/ 07 июля 2015

Просто выполните следующие команды:

$ 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)
0 голосов
/ 05 ноября 2016

установите $ JAVA_HOME = $ (/ usr / libexec / java_home) в вашем .bash_profile

или экспортируйте JAVA_HOME = $ (/ usr / libexec / java_home);

echo $ JAVA_HOME

0 голосов
/ 15 марта 2016

Из вопросов и ответов по техническим вопросам Apple:

Предпочтения пользователя

В Mac OS X среда выполнения Java предоставляет API java.util.prefs, который поддерживается стандартными настройками Mac OS XAPI и каталоги.Простое использование этого чистого Java API считывает и сохраняет настройки вашего приложения в ~ / Library / Preferences в файле списка свойств Mac OS X.Для приложений, которые уже могут иметь свой собственный формат настроек, эти настройки также должны храниться в каталоге ~ / Library / Preferences.В этот каталог можно попасть из кода Java, создав файл с путем System.getProperty ("user.home") + "/ Library / Preferences /" + "com.example.your.Application".Приложение, которое должно иметь глобальные настройки для всех пользователей, может вместо этого находиться в / Library / Preferences, однако этот каталог недоступен для записи пользователям без прав администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...