Самый простой способ управлять несколькими версиями Java на Mac - это использовать Homebrew
.
А внутри Homebrew
используйте:
homebrew-cask
установить версии java
jenv
управлять установленными версиями Java
Как видно на http://hanxue-it.blogspot.ch/2014/05/install-java-8-managing-multiple.html , это следующие шаги.
- установить доморощенный
- установить доморощенный jenv
- установить доморощенный бочонок
- установить конкретную версию Java с помощью cask (см. параграф «homebrew-cask version» ниже)
- добавить эту версию для jenv, чтобы управлять им
- проверьте правильность управления версией jenv
- повторите шаги с 4 по 6 для каждой версии Java, которая вам нужна
версии для домашних бочек
Добавьте homebrew/cask-versions
кран к домашнему пиву, используя:
brew tap homebrew/cask-versions
Затем вы можете посмотреть все доступные версии:
brew search java
Затем вы можете установить понравившуюся вам версию (ы):
brew cask install java7
brew cask install java6
И добавьте их, чтобы Jenv управлял как обычно.
jenv add <javaVersionPathHere>
Я думаю, что это самый чистый и простой способ сделать это.
Еще одна важная вещь, которую стоит отметить, как упоминалось в Mac OS X 10.6.7 Java Path Current JDK сбивает с толку :
Для разных типов JDK или установок у вас будут разные пути
Вы можете проверить пути версий, установленных с помощью /usr/libexec/java_home -V
, см. Как проверить, установлен ли Java JDK на Mac?
На 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 install caskroom/cask/brew-cask
аbrew install cask
не с плагином Emacs.jenv
возвратомNo such file or directory.
ошибки. Эта вики помогла мне решить это. github.com/gcuisinier/jenv/wiki/Trouble-Shooting/Library/Java/JavaVirtualMachines/
и при добавлении их сjenv add
вами добавить путь, похожий на этот/Library/Java/JavaVirtualMachines/[specific-version]/Contents/Home/
. Ура!brew cask search java7
но не нашел бочку для "java7"./usr/libexec/java_home -V
дважды проверьте пути, где они были установлены.Удалите jdk8, установите jdk7, затем переустановите jdk8.
Мой подход к переключению между ними (в .profile):
Тогда вы можете просто напечатать
java7
илиjava8
в терминале для переключения версий.(редактировать: обновлено, чтобы добавить улучшение Dylans для Java 9)
источник
9
например,export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
Для macOS Sierra 420
Это руководство было собрано из разных источников (ответы выше, а также из других постов), и работает отлично.
0. Если вы еще этого не сделали, установите homebrew.
Смотрите https://brew.sh/
1. Установите jenv
2. Добавьте jenv в профиль bash.
3. Добавьте jenv на свой путь
4. Нажмите «Caskroom / версии»
К вашему сведению: «Tap» расширяет список доступных репозиториев brew, которые могут быть установлены за пределы стандартного списка доступных репозиториев brew.
5. Установите последнюю версию Java
6. Установите Java 6 (или 7 или 8, что вам нужно)
? Возможно, закройте и перезапустите Терминал, чтобы он увидел все новые установки ENV, которые были настроены.
7. Просмотр установок
Все версии Java устанавливаются здесь:
/Library/Java/JavaVirtualMachines
давайте посмотрим.8. Добавьте каждый путь к jenv по одному.
Нам нужно добавить «/ Contents / Home» в папку версии. ПРЕДУПРЕЖДЕНИЕ: Используйте реальные пути на вашей машине ... это просто пример «s
9. Проверьте, зарегистрирован ли jenv в порядке
10. Установите версию Java для использования (глобально)
Где XX соответствует одному из пунктов в списке версий выше.
Проверьте версию Java
Проверьте версии jenv
Следует также указать текущую версию, используемую со звездочкой.
СДЕЛАНО
Быстрая будущая ссылка
Чтобы изменить версии Java
... Смотрите список доступных версий Java
... затем, где XX соответствует элементу в списке выше
источник
brew cask install java*
brew tap caskroom/versions
должно бытьbrew tap homebrew/cask-versions
SDKMAN! это отличный инструмент для использования нескольких версий Java, Gradle, Groovy, Kotlin и других инструментов JVM в Mac OS. Документация по установке и использованию находится прямо на главном сайте.
(У меня нет принадлежности, просто счастливый пользователь).
В качестве примера использования, если я введу следующее в окне терминала, появится список доступных версий Java SDK (отредактировано для краткости):
Здесь
+
обозначает, что версия установлена.>
обозначает, какая версия используется в данный момент. Чтобы установить версию:Чтобы использовать версию в этом окне терминала:
источник
Как найдено на этом сайте, так что давайте начнем с установки jEnv
Запустите это в терминале
Добавить jEnv в профиль bash
При первой установке jEnv не будет иметь никаких JDK, связанных с ним.
Например, я только что установил JDK 8, но jEnv не знает об этом. Чтобы проверить версии Java на jEnv
На данный момент в системе обнаружена только версия Java (jre). На
*
шоу в настоящее время версия выбрана. В отличие от rvm и rbenv, jEnv не может установить JDK для вас. Вам необходимо установить JDK вручную с веб-сайта Oracle.Установите JDK 6 с веб-сайта Apple. Это установит Java в
/System/Library/Java/JavaVirtualMachines/
. Причина, по которой мы устанавливаем Java 6 с веб-сайта Apple, заключается в том, что SUN не придумала JDK 6 для MAC, поэтому Apple создала / изменила собственную версию развертывания.Аналогичным образом установите JDK7 и JDK8.
Добавить JDKs в jEnv.
JDK 6:
JDK 7:
JDK 8:
Проверьте версии Java, установленные с помощью jenv
Так что теперь у нас есть 3 версии Java в нашей системе. Чтобы установить версию по умолчанию, используйте команду
Я хотел, чтобы JDK 1.6 запустил IntelliJ
проверьте версию Java
Java-версия
Вот и все. Теперь у нас есть несколько версий Java, и мы можем легко переключаться между ними. jEnv также имеет некоторые другие функции, такие как оболочки для Gradle, Ant, Maven и т. д., а также возможность устанавливать параметры JVM глобально или локально. Проверьте документацию для получения дополнительной информации.
источник
Я недавно нашел этот менеджер версий Java под названием Jabba, и его использование очень похоже на менеджеры версий других языков, таких как rvm (ruby), nvm (node), pyenv (python) и т. Д. Кроме того, он кроссплатформенный, поэтому его можно использовать на макинтош
После установки он создаст каталог в ~ / .jabba для размещения всех версий Java, которые вы устанавливаете. Он «поддерживает установку Oracle JDK (по умолчанию) / Server JRE, Zulu OpenJDK (с 0.3.0), IBM SDK, Java Technology Edition (с 0.6.0) и с пользовательских URL-адресов».
Основное использование указано на их Github. Краткое резюме для начала:
источник
Я использую Mac OS X 10.9.5. Вот как я управляю несколькими JDK / JRE на своем компьютере, когда мне нужна одна версия для запуска приложения A и использования другой версии для приложения B.
Я создал следующий скрипт после получения помощи онлайн.
Я положил вышеупомянутый скрипт в файл .profile. Просто откройте терминал, введите vi .profile, добавьте скрипт с приведенным выше фрагментом и сохраните его. Как только вы наберете тип
source .profile
, он запустит скрипт вашего профиля без перезагрузки терминала. Теперь введите,java -version
он должен показать 1.7 в качестве текущей версии. Если вы намереваетесь изменить его на 1.8, тогда закомментируйте строкуsetjdk jdk1.7.0_15.jdk
и раскомментируйте ееsetjdk jdk1.8.0_60.jdk
. Сохраните скрипт и запустите его снова с помощью команды source. Я использую этот механизм для управления несколькими версиями JDK / JRE, когда мне нужно скомпилировать 2 разных проекта Maven, для которых нужны разные версии Java.источник
Jenv на Mac Сьерра:
если после установки не работает, исправьте эту ошибку, чтобы добавить исполняемый файл Java в путь
хотя
eval "$(jenv init -)"
мог бы сделать эту работу. Причина в том, что папка / bin больше не существует, как описано на домашней странице, но вместо этого папка shim используется как / bin.which java
может распечатать / Библиотека / ...В конце концов,
which java
дает вам:источник
В том же духе, что и @Vegard (легкий):
Поместите эту
jdk
функцию Bash и значение по умолчанию в вашем.profile
а затем, чтобы переключить свой JDK, вы можете сделать
Основано на https://github.com/AdoptOpenJDK/homebrew-openjdk .
источник
Вот более сухая версия для bash (на основе ответа Вегарда)
Замените 1.7 и 1.8 на те версии, которые вас интересуют, и вы получите псевдоним javaX; где «X» - это версия Java (7/8 в фрагменте ниже), которая позволит вам легко переключать версии
источник
Чтобы установить более свежие версии OpenJDK, я использую это. Пример для OpenJDK 14:
См. Https://github.com/AdoptOpenJDK/homebrew-openjdk для текущей информации.
источник