Как установить Java 8 на Mac

996

Я хочу заняться программированием с последней версией 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 не помещает его туда, куда он действительно идет? И как я могу обойти эту проблему?

user3763100
источник
8
Это "действительно идет", где это закончилось - /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/. Предыдущий был тем, куда пошли предоставленные Apple версии Java, и поскольку Apple больше не предоставляет Java, место установки изменилось.
awksp

Ответы:

1889

У Oracle плохой послужной список для упрощения установки и настройки Java, но с помощью Homebrew можно установить последнюю версию OpenJDK (Java 14) с:

brew cask install java

Для многих случаев использования в зависимости от более старой версии (обычно Java 8) проект AdoptOpenJDK делает это возможным с дополнительным шагом.

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

Существующие пользователи Homebrew могут столкнуться Error: Cask adoptopenjdk8 exists in multiple tapsиз-за предыдущих обходных путей с различными инструкциями. Это может быть решено путем полного указания местоположения с помощью brew cask install adoptopenjdk/openjdk/adoptopenjdk8.

L3x
источник
89
По состоянию на декабрь 2015 года теперь нет необходимости устанавливать бочку вручную, поскольку она является частью установки homebrew. Так что после обновления homebrew via brew update, вы настроены на использование brew cask.
davetw12
63
Спасибо, удивительно, насколько ужасен процесс установки Java с использованием «официальных» ссылок / документов.
enderland
15
@tandrewnichols Я только что запустил brew cask install javaсвой El Capitan Mac, и он загружается jdk-8u112-macosx-x64.dmg.
Калрион
44
Error: Cask 'java8' is unavailable: No Cask with this name exists.
Старейшина
87
Обходной путь на данный момент заключается в том, чтобы brew tap homebrew/cask-versionsи использоватьbrew cask install homebrew/cask-versions/adoptopenjdk8
Шон Брекенридж
736

Примечание. Oracle Java 8/9/10 больше не доступна для публичного скачивания (изменение лицензии).

Сначала установите и обновите brew из терминала:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew tap homebrew/cask-versions

brew update

НОВЫЙ на июнь 2019

Чтобы установить JDK из AdoptOpenJDK:

brew tap adoptopenjdk/openjdk

brew cask install adoptopenjdk8
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11

OLD

Java 8:

brew cask install java8

Java последние:

brew cask install java
kavehmb
источник
3
Интересно отметить, что это не сработало для меня на Маверикс, поэтому оно не ответило на вопрос ОП, но оно сработало для меня на Капитане, так что это было полезно в качестве ответа ..
Томми
3
Я установил homebrew fresh на новую машину OS X El Capitan, и мне не нужно было запускать brew tapкоманду в ответе выше. Первая и третья команды были достаточны.
Адиль Хуссейн
14
Error: Cask 'java8' is unavailable: No Cask with this name exists.
user924
4
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8, Я должен использоватьbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
roottraveller
5
brew tap homebrew/cask-versionsи brew cask install adoptopenjdk8работает для меня в Привет Сьерра 10.13.6
xjlin0
135

Java8 больше не доступен на доморощенном, brew install java8не будет работать.

Вместо этого используйте:

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Смотрите этот коммит для технических деталей.

Пожалуйста, обратите внимание, что вы можете увидеть проблемы вокруг Cask adoptopenjdk8 exists in multiple taps. Это известная проблема, над которой в настоящее время ведется работа, которую вы можете увидеть здесь:

https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106

Для тех, кто не хочет бегать по деталям, вот резюме:

# To install JDK8
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

# To be able to safely run 'brew cleanup'
brew untap adoptopenjdk/openjdk
brew untap caskroom/versions
brew cleanup
Дейв Керр
источник
2
Есть ли какая-либо разница в использовании AdoptOpenJDK/openjdkвместо использованияhomebrew/cask-versions/adoptopenjdk8
Шон Брекенридж,
Я получаю следующее , когда я пытаюсь своим ответ: Бочка adoptopenjdk8 существует в нескольких нажатиях: caskroom / версия / adoptopenjdk8 adoptopenjdk / OpenJDK / adoptopenjdk8
Корай Тугай
@KorayTugay Я обновил ответ, это должно решить ваши проблемы!
Дейв Керр
1
@SeanBreckenridge - команда HomeBrew работает над этим, на данный момент похоже, что AdoptOpenJDK будет использоваться, но все еще есть некоторая неопределенность, подробности смотрите в текущем открытом выпуске github.com/AdoptOpenJDK/homebrew-openjdk/issues/106 !
Дейв Керр
1
brew cask install homebrew/cask-versions/adoptopenjdk8работал для меня
protoEvangelion
123

Я только что сделал это на моем MBP, и пришлось использовать

$ brew tap caskroom/versions
$ brew cask install java8

чтобы получить java8 для установки.

Джайн уолдрип
источник
9
Это помогло мне с установкой конкретной версии Java. Теперь, когда java 9 отсутствует, запуск "brew cask install java" устанавливает java 9. "brew cask install java8" не работал для меня, пока я не запустил "brew tap caskroom / версии".
прерывание
6
Да, brew tap caskroom/versionsтребуется перед установкой java8
hendrix
11
или просто brew install homebrew/cask-versions/java8за победу!
Наруто Семпай
4
Невозможно установить Java8 с помощью Brew из-за изменений лицензии Oracle. Java8 больше не доступен для публичной загрузки.
Марсело Ксавье
2
Посмотрите stackoverflow.com/a/55775566/9306378, если вы все еще хотите использовать java8. Обратите внимание, что здесь используется OpenJDK.
Polpetta
62

Вариант, который мне действительно нравится для запуска приложений на моем локальном компьютере, - это использовать Docker. Вы можете просто запустить свое приложение в официальном контейнере JDK - это означает, что вам не нужно беспокоиться о настройке всего на вашем локальном компьютере (или беспокоиться о запуске нескольких разных версий JDK для разных приложений и т. Д.)

Хотя это может не помочь вам с текущими проблемами при установке, это решение, которое означает, что вы можете обойти минное поле проблем, связанных с попыткой правильной работы Java на вашем компьютере разработчика!

Преимущества:

  1. Нет необходимости устанавливать какую-либо версию Java на локальном компьютере (вы просто запустите Java в контейнере, который вы извлекаете из Docker Hub)
  2. Очень легко переключаться на разные версии Java, просто меняя тег на контейнере.
  3. Зависимости проекта устанавливаются внутри контейнера - поэтому, если вы испортили свою конфигурацию, вы можете просто сбросить ядро ​​с контейнера и начать заново.

Очень простой пример:

Создать Dockerfile:

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
  • Здесь мы с указанием контейнера Java под управлением версии 8 SDK ( java:8- использовать Java 7, можно просто указать: java:7)
  • Мы сопоставляем локальный каталог с каталогом: /usr/src/myappвнутри контейнера

Создать docker-compose.ymlфайл:

version: "2"

services:
  java:
    build: .
    volumes:
      - .:/usr/src/myapp

Теперь предположим, что у нас есть этот файл Java:

HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {        
        System.out.println("Hello, World");
    }
}

Итак, мы имеем следующую файловую структуру:

.
|_ Dockerfile
|_ docker-compose.yml
|_ HelloWorld.java

Вы можете делать различные вещи Java, такие как:

компиляции:

docker-compose run --rm java javac HelloWorld.java 
  • Вы должны заметить, что HelloWorld.class отображается в вашем текущем каталоге (это потому, что мы сопоставили текущий каталог с местоположением внутри контейнера, где существует наш код

запустить:

docker-compose run --rm java java HelloWorld 
  • Примечание: при первом запуске он получит изображение и т. Д. Это займет некоторое время - это происходит только в первый раз
  • docker-compose run - запускает команду изнутри контейнера
  • -rm говорит докеру удалить контейнер после завершения выполнения команды
  • java имя службы / контейнера (из нашего файла docker-compose), для которой будет выполняться эта команда
  • остальная часть строки - команда для запуска внутри контейнера.

Это довольно крутой способ справиться с запуском разных версий Java для разных приложений без полной путаницы в вашей локальной настройке :).

Вот немного более сложный пример с Maven и простым приложением Spring

Отказ от ответственности:

toast38coza
источник
2
Хороший пример использования Docker, не знаю, почему вы получили отрицательный отзыв раньше.
Андрей
28
Я бы вообразил понижение, потому что это не отвечает на вопрос запуска Java на OS X / MacOS. Ответ «Как мне сделать это на платформе X» на «Просто используйте VM / shim, чтобы сделать это на платформе Y» не является продуктивным.
whitfin
специально для нативной разработки Java (например, с использованием SWIG, JNI и LIBRARY_PATH)
Mizux
56

Предположение: Mac машина и вы уже установили доморощенный.

Установите бочку (с Homebrew 0.9.5 или выше, бочка включена, пропустите этот шаг):

$ brew tap caskroom/cask
$ brew tap caskroom/versions

Чтобы установить последнюю версию Java:

$ brew cask install java

Чтобы установить Java 8:

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Если вы хотите установить / управлять несколькими версиями, вы можете использовать 'jenv':

Установите и настройте jenv:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Добавьте установленную Java в jenv:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

Чтобы увидеть все установленные Java:

$ jenv versions

Вышеприведенная команда выдаст список установленных java:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

Настройте версию Java, которую вы хотите использовать:

$ jenv global oracle64-1.6.0.39

Чтобы установить JAVA_HOME:

$ jenv enable-plugin export
Линчан Патель
источник
2
Лучшее решение! Спасибо!
Виктор
1
Спасибо! именно то, что я искал.
csomakk
Спасибо. Начинается с краткого и точечного решения и продолжается еще одним полезным инструментом: «jenv» удобен в использовании и отсутствует в большинстве других ответов. Помог с упаковкой кода Scala (2.12 / 2.13) в 2020 году.
Emllnd
Работает как шарм, варит бочонок, установит accepttopenjdk / openjdk / accepttopenjdk8
jeadonara
25

У меня та же проблема, которую нужно решить, потому что мне нужно установить JDK8 для запуска Android SDK Manager (потому что кажется, что он плохо работает с JDK9). Тем не менее, я расскажу вам, как я решаю все проблемы на Mac (Sierra).

Во-первых, вам нужно заварить с бочкой и jenv .

  1. Вы можете найти полезное руководство здесь, Руководство по установке Homebrew Cask . Не забудьте нажать «Caskroom / версии», запущенные в терминале: brew tap caskroom/versions
  2. После этого установите jenv с помощью: brew install jenv
  3. Установка любой версии вы хотите с бочкой brew cask install java8(или , java7или javaесли вы хотите установить последнюю версию, jdk9)
  4. Последний шаг - настроить версию для запуска (и позволить jenv управлять вашим JAVA_HOME), jenv versionsчтобы вывести список всех версий, установленных на вашем компьютере, а затем активировать ту, которая вам нужнаjenv global [JDK_NAME_OF_LIST]

Вы можете найти другую полезную информацию здесь, на этом Github Gist brew-java-and-jenv.md , в этом блоге. Установите несколько JDK на Mac и на сайте Jenv.

Бенедетто Аббенанти
источник
jenv довольно прост и супер полезен. У меня есть несколько проектов , которые нуждаются Java 8 и 11
Нихилу Sahu
18

Если у вас есть несколько версий Java на вашем компьютере, и вы хотите выбрать его динамически во время выполнения, т.е. в моем случае у меня есть две версии:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Вы можете изменить их, изменив /etc/profileсодержимое. Просто добавьте (или измените) следующие две строки в конце файла:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

В моем случае это должно быть похоже на следующее, если я хочу использовать:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

После сохранения файла, пожалуйста, запустите, source /etc/profile и он должен работать. Вот результаты, когда я использую первый и второй вариант соответственно:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Процесс аналогичен, если ваша папка Java находится в разных местах.

nxhoaf
источник
Почему бы не сделать псевдоним для другой версии, как alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java?
cglacet
14

Похоже, никто еще не упомянул SDK man ( https://sdkman.io/ ).

SKD man позволяет установить несколько версий Java на Mac и легко переключаться между этими версиями. Более подробная информация доступна на https://sdkman.io/usage .

Например:

$ sdk list java                                                                                                                                                                                                                       
================================================================================
Available Java Versions
================================================================================
   * 12.ea.20-open
     11.0.1-zulu
 > * 11.0.1-open
     10.0.2-zulu
     10.0.2-open
     9.0.7-zulu
     9.0.4-open
     8.0.192-zulu
     8.0.191-oracle
   + 8.0.181-oracle
     7.0.181-zulu
     1.0.0-rc-10-grl
     1.0.0-rc-9-grl
     1.0.0-rc-8-grl


================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

$ sdk install java 8.0.191-oracle

$ sdk use java 8.0.191-oracle

Using java version 8.0.191-oracle in this shell.                                                                                                                                                                                                      

$ java -version                                                                                                                                                                                                                        
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

$ sdk use java 11.0.1-open                                           

Using java version 11.0.1-open in this shell.

$ java -version                                                                                                                                                                                                                        openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
                                                                                                                                                                                                         ```

STDERR
источник
13

Используйте установщик, Люк

Другие ответы, предлагающие менеджер пакетов Homebrew , кажутся мне немного экстремальными. Я уверен, что у Homebrew есть хорошее применение. Но чтобы просто запустить Java, установка Homebrew - ненужный дополнительный шаг. Если ваша цель - просто запустить Java, просто загрузите установщик Mac из надежного источника.

У вас есть несколько источников, чтобы получить простое в использовании приложение для установки Java на ваш Mac. Запустите установщик на своем Mac, как и для многих других приложений.

Вот блок-схема для поиска источника Java 11, некоторые из которых также предлагают Java 8.

Блок-схема, помогающая выбрать поставщика для реализации Java 11

Загрузите установщик от поставщика, такого как AdoptOpenJDK.net.

Страница загрузки на AdoptOpenJDK.net

Запустите установщик.

снимок экрана установщика работает

JavaVirtualMachines папка теперь правильная

Почему установщик Oracle не помещает его туда, куда он действительно идет? И как я могу обойти эту проблему?

Не проблема.

Папка /Library/Java/JavaVirtualMachines/является новым домом для JVM на macOS .

снимок экрана папки "/ Library / Java / JavaVirtualMachines /" в Finder

Чтобы установить 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. Они намерены предлагать обновления со временем, как пожертвовано членами сообщества.

  • Ваш выбор - либо HotSpot, либо движок OpenJ9 .
  • Сборки доступны для MacOS, Linux и Windows.

OpenJ9 от Eclipse

Проект OpenJ9 - это еще одна реализация движка JVM, альтернатива HotSpot .

В настоящее время спонсируется в Eclipse Foundation, технология и поддержка которого пожертвованы IBM в 2017 году.

Для готовых двоичных файлов они направляют вас в проект AdoptOpenJDK, упомянутый выше.

Мотивации при выборе поставщика для Java.png


Как установить

Установщики, предоставляемые Oracle или Azul, очень просты в использовании. Просто запустите приложение установщика на вашем Mac. Появится окно, показывающее ход установки.

После завершения проверьте вашу установку JVM:

  • Посещение /Library/Java/JavaVirtualMachines/папки, чтобы увидеть элемент для новой JVM.
  • Запустите консоль, такую ​​как Terminal.app, и введите текст, java -versionчтобы увидеть марку и номер версии вашей JVM.

После проверки успеха отключите образ .dmg в Finder. Затем удалите загруженный файл .dmg.

Базилик Бурк
источник
13

У меня есть приложения, которые используют как 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и его множество.

Натан Данн
источник
1
+1: я использую этот скрипт, и я согласен, он довольно полезен для разработчиков, у которых есть несколько проектов, которые требуют разных версий Java.
Барклай
8
На самом деле нет необходимости устанавливать какие-либо сценарии, если вам нужно использовать только определенную версию для всей системы. По сути, все, что вам нужно сделать, это добавить в свой ~/.bashrcили ~/.bash_profile: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8", а также добавить его $JAVA_HOME/binв, $PATHесли установщик java этого еще не сделал. (ПРИМЕЧАНИЕ: замените двойные кавычки на обратные кавычки для / usr / libexec / java_home, нельзя вводить буквальные обратные кавычки в комментариях ..)
ccpizza
если вы хотите установить Java 7 (вдоль стороны Java 8) с помощью homebrew, за командой brew tap caskroom/versionsследует brew cask install java7.
icfantv
2
jenv - очень удобный инструмент для управления несколькими версиями Java, как глобально, так и локально для каждого каталога.
Кристиан Лонг
11

Запустите эти команды на Mac High Sierra

brew update
brew tap caskroom/versions
brew cask install java8

и проверьте с помощью команды

java -version
TLbiz
источник
Получение этого: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
Сиддхартха
7

Используя варево

brew install Caskroom/cask/java
Santhosh
источник
7

Лучший способ - использовать менеджер пакетов Brew, но команду

 brew cask install java8

не удается с ошибкой:

Error: No available formula with the name "java8" 

Так что используйте

brew cask install caskroom/versions/java8

Как я нашел "caskroom / version / java8": используя команду поиска brew:

brew cask search java8
Навьот Бхардвадж
источник
7

Если вы используете его НЕ для личного использования, вы можете вместо этого использовать OpenJDK, чтобы избежать любых возможных судебных исков со стороны Oracle.

brew cask install adoptopenjdk8
Эдмунд Ли
источник
find / usr / local / homebrew / библиотека / краны / | grep -i jdk | xargs rm -v, если случится, вы получите сообщение об ошибке «Ошибка: бочковая усыновление существует в нескольких нажатиях:» ошибка ...
Йордан Георгиев
5

Если у вас Mac, то Homebrew - это способ установки вещей.

Кажется, что версия 8 больше не самая последняя, ​​поэтому она недоступна по умолчанию brew cask install java.

Вместо этого мне удалось сделать следующее:

brew install homebrew/cask-versions/

Если это не помогло, попробуйте следующее:

brew install homebrew/cask-versions/adoptopenjdk8

Проверить с помощью brew cask listилиjava -version

Анас
источник
+1, у меня работает на macOS 10.12.6 Sierra. (Или заварите бочку, установив принятие: toopenjdk / openjdk / accepttopenjdk8)
Макаллистер Боуман
+1 Первый не удался (Ошибка: нет доступной формулы с названием «homebrew / cask-version /»), но второй, похоже, сработал. Обновленный ответ, чтобы не отпугивать людей первым провалом.
Деннис Джаэруддин
4

Проще всего скачать файл dmg со следующего сайта и установить его двойным щелчком мыши.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

искать доступные JVM из домашнего каталога

ls -al /Library/Java/JavaVirtualMachines

и обновите .bash_profile с соответствующей версией

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

и наконец

source ~/.bash_profile
Вимал Кришна
источник
4

Установить с Homebrew

Версия Java, доступная в Homebrew Cask до 3 октября 2018 года, действительно была Oracle JVM. Однако теперь он был обновлен до OpenJDK. Обязательно обновите Homebrew, и тогда вы увидите последнюю версию, доступную для установки.

1. установить Homebrew, если вы еще этого не сделали. Убедитесь, что оно обновлено:

brew update

2. Добавьте каску бочек, если вы еще этого не сделали (или вы больше не видите старые версии Java на шаге 3):

brew tap homebrew/cask-versions

3. и для версий AdoptOpenJDK добавьте этот кран:

brew tap adoptopenjdk/openjdk

Эти бочки часто меняют свои версии Java, и могут быть другие ответвления с дополнительными версиями Java.

4. Ищите устанавливаемые версии:

brew search java 

или для версий AdoptOpenJDK:

brew search jdk     

5. Проверьте информацию о версии, которая будет установлена:

brew cask info java

или для версии AdoptOpenJDK:

brew cask info adoptopenjdk

6. Установите конкретную версию JDK, такую ​​как java11, accepttopenjdk8, или просто java или accepttopenjdk для текущей версии. Например:

**brew cask install java**

**brew cask install java8**

**brew cask install java11**

Вы также можете использовать полный путь к более старым версиям:

brew cask install homebrew/cask-versions/java11
Декан джайн
источник
Предположительно я сделал что-то не так, но при попытке сделать java8 я получил сообщение об ошибке: Ошибка: Cask 'java8' недоступен: Нет Cask с таким именем существует.
Деннис Джаэруддин
2

Вы можете попробовать это:

$ brew search jdk
$ brew cask install homebrew/cask-versions/adoptopenjdk8
$ /usr/libexec/java_home

 

фанат
источник
2

Самый простой способ

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

PS - Cask - это расширение для Homebrew, которое предназначено для управления большими двоичными файлами Mac и графическими приложениями, но с использованием интерфейса Homebrew. Также смотрите этот ответ на Apple StackExchange.

sapy
источник
он всегда устанавливает последнюю версию
Рэй Гарнер
1

Пытаться :

заварить бочку установить Java 8 ,, даст следующий результат

8tracksradioHelperopenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8

Далее введите: brew cask install accepttopenjdk8 ---- Java 8 будет установлена ​​на Mac.

арг
источник
0

Я бы предложил использовать SDK man, который довольно легко изменить версию (временную и постоянную), а также предоставляет другие SDK. Я использую SDK man уже больше года.

https://sdkman.io/

Саиф Али
источник
Ты за подсказку к sdkman.io! Я видел это из-за нити так долго, но смог прочитать конец. Кстати, этот совет также находится выше stackoverflow.com/a/54101167/242110
AnneTheAgile
-4

Ниже шаги сработали для меня.

1) удалить все jdks

В окне терминала скопируйте и вставьте команду ниже:

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefpane

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

Вот и все это будет работать как шарм.

Сембии
источник