Mac OS X 10.6.7 Java Path текущий JDK запутанный


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

5 ответов:

скорее всего, у вас установлен только один jdk, поэтому все мягкие ссылки указывают на один и тот же jdk. Если у вас, однако, было установлено несколько JDK, вам нужно будет выбрать, какой из них использовать с приложением "Java Preferences" в вашем /Application/Utilities.

мягкие ссылки, кстати, созданы с помощью ln -s команда из терминала.

для разных типов JDKs или установок у вас будут разные пути.

на Mac OS X Mavericks, путь, который я нашел следующим образом:

1) встроенный JRE по умолчанию:

 /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

2) JDKs загруженные из Apple:

 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/

3) JDKs загруженные из 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)

От Apple Технические Вопросы И Ответы Java:

Настройки Пользователя

в Mac OS X среда выполнения Java предоставляет java.утиль.prefs API, который поддерживается стандартным API и каталогами Mac OS X Preferences. Просто с помощью этого чистого Java API считывает и сохраняет предпочтения вашего приложения в ~ / Library / Preferences в файле списка свойств Mac OS X. Для приложений, которые уже могут иметь свой собственный формат предпочтений, эти предпочтения должны храниться в ~ / Библиотека / каталог настроек, а также. Этот каталог можно получить из кода Java, создав файл с путем System.метод getproperty("пользователя.главная") + "/ библиотека / настройки / " + " com.образец.ваш.Приложение." Приложение, которое должно иметь глобальные настройки для всех пользователей, может вместо этого находиться в /Library / Preferences, однако этот каталог не доступен для записи пользователями, не являющимися администраторами.

набор $переменной JAVA_HOME=$(из/usr/IP-адресов/переменной JAVA_HOME) в вашем .файл

или экспортировать JAVA_HOME=$(/usr / libexec / java_home);

echo $JAVA_HOME