Если вам нужно иметь несколько версий JDK под Mac OS X (Yosemite), может быть полезно добавить некоторые сценарии для автоматического переключения между ними.
Что вы делаете, это редактируете ваш ~ / .bash_profile и добавляете следующее:
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
setjdk 1.7
Сценарий сначала должен удалить другие версии JDK в PATH , чтобы они не мешали нашей новой версии JDK.Затем он разумно использует / usr / libexec / java_home , который представляет собой команду, в которой перечислены установленные версии JDK.Аргумент -v указывает java_home , чтобы он возвращал путь JDK с предоставленной версией, например, 1.7.Мы также обновляем PATH , чтобы он указывал на каталог bin недавно обнаруженного каталога JAVA_HOME .В конце мы можем просто выполнить функцию, используя
setjdk 1.7
, которая выбирает последнюю установленную версию JDK ветки 1.7.Чтобы выбрать конкретную версию, вы можете просто выполнить
setjdk 1.7.0_51
.Запустите / usr / libexec / java_home -V , чтобы получить более подробную информацию о выборе версий.
PS Не забудьте source ~ / .bash_profile после сохраненияэто.