Я хочу заняться программированием с последней версией JavaFX, для которой требуется Java 8. Я использую IntelliJ 13 CE и Mac OS X 9 Mavericks. Я запустил установщик Oracle 8 Java, и файлы выглядят так, как будто
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
но предыдущие версии на
/System/Library/Java/JavaFrameworks/jdk1.6....
Не уверен, почему последний установщик вставляет это /Library
вместо /System/Library
(ни в чем разница). Но /usr/libexec/java_home
не находит 1.8, поэтому все сообщения, которые я нашел о том, как установить вашу текущую версию Java, не работают. Я попытался добавить символическую ссылку, чтобы она выглядела как 1.8 в /System/Library...
пути, но это не помогает. /usr/libexec/java_home -V
до сих пор только списки старых Java 1.6.
По иронии судьбы, панель управления «Java» в Системных настройках показывает только Java 1.8!
Почему установщик Oracle не помещает его туда, куда он действительно идет? И как я могу обойти эту проблему?
источник
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/
. Предыдущий был тем, куда пошли предоставленные Apple версии Java, и поскольку Apple больше не предоставляет Java, место установки изменилось.Ответы:
У Oracle плохой послужной список для упрощения установки и настройки Java, но с помощью Homebrew можно установить последнюю версию OpenJDK (Java 14) с:
Для многих случаев использования в зависимости от более старой версии (обычно Java 8) проект AdoptOpenJDK делает это возможным с дополнительным шагом.
Существующие пользователи Homebrew могут столкнуться
Error: Cask adoptopenjdk8 exists in multiple taps
из-за предыдущих обходных путей с различными инструкциями. Это может быть решено путем полного указания местоположения с помощьюbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
.источник
brew update
, вы настроены на использованиеbrew cask
.brew cask install java
свой El Capitan Mac, и он загружаетсяjdk-8u112-macosx-x64.dmg
.Error: Cask 'java8' is unavailable: No Cask with this name exists.
brew tap homebrew/cask-versions
и использоватьbrew cask install homebrew/cask-versions/adoptopenjdk8
Примечание. Oracle Java 8/9/10 больше не доступна для публичного скачивания (изменение лицензии).
Сначала установите и обновите brew из терминала:
НОВЫЙ на июнь 2019
Чтобы установить JDK из AdoptOpenJDK:
OLD
Java 8:
Java последние:
источник
brew tap
команду в ответе выше. Первая и третья команды были достаточны.Error: Cask 'java8' is unavailable: No Cask with this name exists.
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8
, Я должен использоватьbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew tap homebrew/cask-versions
иbrew cask install adoptopenjdk8
работает для меня в Привет Сьерра 10.13.6Java8 больше не доступен на доморощенном,
brew install java8
не будет работать.Вместо этого используйте:
Смотрите этот коммит для технических деталей.
Пожалуйста, обратите внимание, что вы можете увидеть проблемы вокруг
Cask adoptopenjdk8 exists in multiple taps
. Это известная проблема, над которой в настоящее время ведется работа, которую вы можете увидеть здесь:https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106
Для тех, кто не хочет бегать по деталям, вот резюме:
источник
AdoptOpenJDK/openjdk
вместо использованияhomebrew/cask-versions/adoptopenjdk8
brew cask install homebrew/cask-versions/adoptopenjdk8
работал для меняЯ только что сделал это на моем MBP, и пришлось использовать
чтобы получить java8 для установки.
источник
brew tap caskroom/versions
требуется перед установкой java8brew install homebrew/cask-versions/java8
за победу!Вариант, который мне действительно нравится для запуска приложений на моем локальном компьютере, - это использовать Docker. Вы можете просто запустить свое приложение в официальном контейнере JDK - это означает, что вам не нужно беспокоиться о настройке всего на вашем локальном компьютере (или беспокоиться о запуске нескольких разных версий JDK для разных приложений и т. Д.)
Хотя это может не помочь вам с текущими проблемами при установке, это решение, которое означает, что вы можете обойти минное поле проблем, связанных с попыткой правильной работы Java на вашем компьютере разработчика!
Преимущества:
Очень простой пример:
Создать
Dockerfile
:java:8
- использовать Java 7, можно просто указать:java:7
)/usr/src/myapp
внутри контейнераСоздать
docker-compose.yml
файл:Теперь предположим, что у нас есть этот файл Java:
HelloWorld.java
Итак, мы имеем следующую файловую структуру:
Вы можете делать различные вещи Java, такие как:
компиляции:
запустить:
docker-compose run
- запускает команду изнутри контейнера-rm
говорит докеру удалить контейнер после завершения выполнения командыjava
имя службы / контейнера (из нашего файла docker-compose), для которой будет выполняться эта командаЭто довольно крутой способ справиться с запуском разных версий Java для разных приложений без полной путаницы в вашей локальной настройке :).
Вот немного более сложный пример с Maven и простым приложением Spring
Отказ от ответственности:
источник
Предположение: Mac машина и вы уже установили доморощенный.
Установите бочку (с Homebrew 0.9.5 или выше, бочка включена, пропустите этот шаг):
Чтобы установить последнюю версию Java:
Чтобы установить Java 8:
Если вы хотите установить / управлять несколькими версиями, вы можете использовать 'jenv':
Установите и настройте jenv:
Добавьте установленную Java в jenv:
Чтобы увидеть все установленные Java:
Вышеприведенная команда выдаст список установленных java:
Настройте версию Java, которую вы хотите использовать:
Чтобы установить JAVA_HOME:
источник
У меня та же проблема, которую нужно решить, потому что мне нужно установить JDK8 для запуска Android SDK Manager (потому что кажется, что он плохо работает с JDK9). Тем не менее, я расскажу вам, как я решаю все проблемы на Mac (Sierra).
Во-первых, вам нужно заварить с бочкой и jenv .
brew tap caskroom/versions
brew install jenv
brew cask install java8
(или ,java7
илиjava
если вы хотите установить последнюю версию, jdk9)jenv versions
чтобы вывести список всех версий, установленных на вашем компьютере, а затем активировать ту, которая вам нужнаjenv global [JDK_NAME_OF_LIST]
Вы можете найти другую полезную информацию здесь, на этом Github Gist brew-java-and-jenv.md , в этом блоге. Установите несколько JDK на Mac и на сайте Jenv.
источник
источник
Если у вас есть несколько версий Java на вашем компьютере, и вы хотите выбрать его динамически во время выполнения, т.е. в моем случае у меня есть две версии:
Вы можете изменить их, изменив
/etc/profile
содержимое. Просто добавьте (или измените) следующие две строки в конце файла:В моем случае это должно быть похоже на следующее, если я хочу использовать:
Java 7:
Java 8:
После сохранения файла, пожалуйста, запустите,
source /etc/profile
и он должен работать. Вот результаты, когда я использую первый и второй вариант соответственно:Java 7:
Java 8:
Процесс аналогичен, если ваша папка Java находится в разных местах.
источник
alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java
?Похоже, никто еще не упомянул SDK man ( https://sdkman.io/ ).
SKD man позволяет установить несколько версий Java на Mac и легко переключаться между этими версиями. Более подробная информация доступна на https://sdkman.io/usage .
Например:
источник
Используйте установщик, Люк
Другие ответы, предлагающие менеджер пакетов Homebrew , кажутся мне немного экстремальными. Я уверен, что у Homebrew есть хорошее применение. Но чтобы просто запустить Java, установка Homebrew - ненужный дополнительный шаг. Если ваша цель - просто запустить Java, просто загрузите установщик Mac из надежного источника.
У вас есть несколько источников, чтобы получить простое в использовании приложение для установки Java на ваш Mac. Запустите установщик на своем Mac, как и для многих других приложений.
Вот блок-схема для поиска источника Java 11, некоторые из которых также предлагают Java 8.
Загрузите установщик от поставщика, такого как AdoptOpenJDK.net.
Запустите установщик.
JavaVirtualMachines
папка теперь правильнаяНе проблема.
Папка
/Library/Java/JavaVirtualMachines/
является новым домом для JVM на macOS .Чтобы установить JVM, используйте установщик, описанный ниже.
Чтобы удалить, просто используйте Finder для удаления JVM из этой папки. Вам будет предложено ввести пароль системного администратора для завершения удаления.
Java 9 & 10 & 11
Еще в 2010 году Apple присоединилась к проекту OpenJDK вместе с Oracle , IBM , Red Hat , Azul и другими поставщиками Java. Каждый участник вносит исходный код, тестирование и обратную связь в унифицированную кодовую базу OpenJDK.
Apple предоставила большую часть своего специфичного для Mac кода для своей JVM. Теперь Apple больше не выпускает свою собственную JVM для Mac. Теперь у вас есть выбор поставщика JVM со сборками, основанными на базе кода OpenJDK.
Вы найдете исходный код по адресу: http://openjdk.java.net
Новый релиз Cadence
Помните, что в 2017 году Oracle, JCP и OpenJDK приняли новый план быстрой подготовки к выпуску регулярно планируемых версий Java, которые будут доставляться предсказуемым образом.
Прочтите этот пост в блоге Azul Systems за 2018-07, где вы найдете множество деталей: устранение путаницы при обновлении Java от Саймона Риттера .
Также читайте, что Java все еще бесплатна .
Вендоры
Довольно исчерпывающий список прошлых и настоящих реализаций JVM см. На этой странице в Википедии .
Вот обсуждение нескольких поставщиков. Смотрите блок-схему выше для других поставщиков
Oracle JDK
Oracle предоставляет установщики JDK и JRE для нескольких платформ, включая macOS.
За годы, прошедшие с момента приобретения Sun, Oracle объединила лучшие части двух механизмов JVM, HotSpot и JRocket , и объединила их в проект OpenJDK, который использовался в качестве основы для их собственных фирменных реализаций Java.
Их новый бизнес-план, начиная с 2018 года, состоит в том, чтобы обеспечить реализацию Java под брендом Oracle за плату в процессе производства и бесплатно для использования в разработке / тестировании / демонстрации. Поддержка предыдущих выпусков требует платной программы поддержки. Они объявили о своем намерении сделать так, чтобы их фирменный выпуск соответствовал функциональным возможностям OpenJDK. Они даже пожертвовали свои коммерческие дополнения, такие как Flight Recorder, для проекта OpenJDK.
Oracle также выпускает сборку OpenJDK без поддержки: http://jdk.java.net/
Oracle выпустил JDK специального назначения, GraalVM .
Zulu & Zing от Azul
Azul Systems предлагает широкий выбор продуктов JVM.
Zulu
линия основана непосредственно на OpenJDK и доступна бесплатно с дополнительными платными планами поддержки.Zing
линейка предлагает коммерческие продукты JVM, дополненные альтернативными техническими реализациями, такими как специализированный сборщик мусора .Обе их линии предлагают инсталляторы для macOS.
В настоящее время я использую Zulu для Java 10.0.1 на macOS High Sierra с IntelliJ 2018.2 и Vaadin 8 . Я скачал с этой страницы . Кстати, я не нахожу никаких элементов, связанных с Java, установленных в приложении « Системные настройки Apple» .
AdoptOpenJDK.net
AdoptOpenJDK - это работа сообщества по созданию бинарных файлов исходного кода OpenJDK. Они намерены предлагать обновления со временем, как пожертвовано членами сообщества.
OpenJ9 от Eclipse
Проект OpenJ9 - это еще одна реализация движка JVM, альтернатива HotSpot .
В настоящее время спонсируется в Eclipse Foundation, технология и поддержка которого пожертвованы IBM в 2017 году.
Для готовых двоичных файлов они направляют вас в проект AdoptOpenJDK, упомянутый выше.
Как установить
Установщики, предоставляемые Oracle или Azul, очень просты в использовании. Просто запустите приложение установщика на вашем Mac. Появится окно, показывающее ход установки.
После завершения проверьте вашу установку JVM:
/Library/Java/JavaVirtualMachines/
папки, чтобы увидеть элемент для новой JVM.java -version
чтобы увидеть марку и номер версии вашей JVM.После проверки успеха отключите образ .dmg в Finder. Затем удалите загруженный файл .dmg.
источник
У меня есть приложения, которые используют как Java 7, так и 8, и мне приходится все время ходить туда-сюда.
Я использую этот сценарий, написанный Йоханом:
http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/
Теперь вы можете установить его при запуске или вызвать скрипт позже.
Установите JDK для Mac.
Java 7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Java 8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Обновленная рекомендация !! :
Используйте jenv https://www.jenv.be/ и доморощенный.
Тогда его просто
jenv global oracle6401.6.0.39
и его множество.источник
~/.bashrc
или~/.bash_profile
: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8", а также добавить его$JAVA_HOME/bin
в,$PATH
если установщик java этого еще не сделал. (ПРИМЕЧАНИЕ: замените двойные кавычки на обратные кавычки для / usr / libexec / java_home, нельзя вводить буквальные обратные кавычки в комментариях ..)brew tap caskroom/versions
следуетbrew cask install java7
.Запустите эти команды на Mac High Sierra
и проверьте с помощью команды
источник
Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Используя варево
источник
Лучший способ - использовать менеджер пакетов Brew, но команду
не удается с ошибкой:
Так что используйте
Как я нашел "caskroom / version / java8": используя команду поиска brew:
источник
Если вы используете его НЕ для личного использования, вы можете вместо этого использовать OpenJDK, чтобы избежать любых возможных судебных исков со стороны Oracle.
источник
Если у вас Mac, то Homebrew - это способ установки вещей.
Кажется, что версия 8 больше не самая последняя, поэтому она недоступна по умолчанию
brew cask install java
.Вместо этого мне удалось сделать следующее:
Если это не помогло, попробуйте следующее:
Проверить с помощью
brew cask list
илиjava -version
источник
Проще всего скачать файл dmg со следующего сайта и установить его двойным щелчком мыши.
искать доступные JVM из домашнего каталога
и обновите .bash_profile с соответствующей версией
и наконец
источник
Установить с Homebrew
Версия Java, доступная в Homebrew Cask до 3 октября 2018 года, действительно была Oracle JVM. Однако теперь он был обновлен до OpenJDK. Обязательно обновите Homebrew, и тогда вы увидите последнюю версию, доступную для установки.
1. установить Homebrew, если вы еще этого не сделали. Убедитесь, что оно обновлено:
2. Добавьте каску бочек, если вы еще этого не сделали (или вы больше не видите старые версии Java на шаге 3):
3. и для версий AdoptOpenJDK добавьте этот кран:
Эти бочки часто меняют свои версии Java, и могут быть другие ответвления с дополнительными версиями Java.
4. Ищите устанавливаемые версии:
или для версий AdoptOpenJDK:
5. Проверьте информацию о версии, которая будет установлена:
или для версии AdoptOpenJDK:
6. Установите конкретную версию JDK, такую как java11, accepttopenjdk8, или просто java или accepttopenjdk для текущей версии. Например:
Вы также можете использовать полный путь к более старым версиям:
источник
Вы можете попробовать это:
источник
Самый простой способ
PS - Cask - это расширение для Homebrew, которое предназначено для управления большими двоичными файлами Mac и графическими приложениями, но с использованием интерфейса Homebrew. Также смотрите этот ответ на Apple StackExchange.
источник
Пытаться :
заварить бочку установить Java 8 ,, даст следующий результат
8tracksradioHelperopenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8
Далее введите: brew cask install accepttopenjdk8 ---- Java 8 будет установлена на Mac.
источник
Я бы предложил использовать SDK man, который довольно легко изменить версию (временную и постоянную), а также предоставляет другие SDK. Я использую SDK man уже больше года.
https://sdkman.io/
источник
Для последней версии пользователей Intellij IDEA есть возможность загрузить JDK непосредственно из IDE: https://www.jetbrains.com/help/idea/sdk.html#jdk-from-ide.
источник
По состоянию на 3 мая 2020 года на этом сайте есть ссылка для загрузки jre8u251: https://java.com/en/download/mac_download.jsp
источник
Ниже шаги сработали для меня.
1) удалить все jdks
В окне терминала скопируйте и вставьте команду ниже:
2) Установите APPLE jdk.
https://support.apple.com/kb/DL1572?locale=en_US
3) Загрузите последнюю версию JDK из Oracle и установите ее, для меня это был JDK 1.82
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Вот и все это будет работать как шарм.
источник