Як встановити Java 8 на Mac


991

Я хочу зайнятися деяким програмуванням з останньою JavaFX, для якої потрібна Java 8. Я використовую IntelliJ 13 CE та Mac OS X 9 Mavericks. Я запустив інсталятор Java 8 для Oracle, і файли виглядають так, як вони закінчилися

/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 не розміщує його там, де він дійсно йде? І як я можу вирішити цю проблему?


8
Це "дійсно йде" там, де він закінчився - /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/. У попередній - переходили версії Java, надані Apple, і оскільки Apple більше не надає Java, місце установки встановлено.
awksp

Відповіді:


1884

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.


89
Станом на грудень 2015 року, тепер не потрібно встановлювати скриньку вручну, оскільки вона є частиною інсталяції домашньої програми. Тож після оновлення домашнього перекладу через brew update, ви готові використовувати brew cask.
davetw12

63
Дякую, дивно, наскільки жахливим є процес встановлення Java за допомогою "офіційних" посилань / документів.
Ендерленд

15
@tandrewnichols Я щойно побіг brew cask install javaна своєму Mac El Capitan і це завантаження 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
Шон Брекенрідж

735

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

Спочатку встановіть та оновіть заварку від Terminal:

/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

СТАРИЙ

Java 8:

brew cask install java8

Найновіші Java:

brew cask install java

3
Цікаво зауважити, що це не спрацювало для мене на Мавериках, тому воно не відповіло на питання ОП, але це спрацювало для мене на капітана, тому було корисно як відповідь ..
Томмі

3
Я встановив домашню капусту на новій машині 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працює для мене на Hi Sierra 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/isissue/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
Шон Брекенрідж

Коли я пробую вашу відповідь, я отримую наступне: Cask accepttopenjdk8 існує в декількох дотиках: caskroom / версії / accetopenjdk8 Adotopenjdk / openjdk / accetopenjdk8
Koray Tugay

@KorayTugay Я оновив відповідь, це повинно вирішити ваші проблеми!
Дейв Керр

1
@SeanBreckenridge - команда HomeBrew працює над цим, на даний момент, схоже, буде використано AdoptOpenJDK, але все ще існує деяка невизначеність, детальну інформацію див. У відкритому випуску github.com/AdoptOpenJDK/homebrew-openjdk/isissue/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 / version".
перервати

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.
Полпетта

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 повідомляє docker видалити контейнер, як тільки команда закінчиться
  • java - це ім'я служби / контейнера (з нашого файлу docker-compose), проти якого буде виконуватися ця команда
  • решта рядка - команда для запуску всередині контейнера.

Це досить класний спосіб роботи з запуском різних версій Java для різних додатків, не створюючи повного безладу локальної установки :).

Ось трохи складніший приклад, який має Maven та простий додаток Spring

Відмова:


2
Хороший приклад використання Докера, не впевнений, чому раніше ви отримали скоромовки.
Андрій

28
Я б уявив, що це не дає відповіді на питання про запуск Java на OS X / MacOS. Відповідь "Як це зробити на платформі X" на "Просто використовувати VM / shim, щоб зробити це на платформі Y", не є результативним.
Вітфін

спеціально для розвитку нативного 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
Найкраще рішення! Дякую!
viktorianer

1
Дякую! саме те, що я шукав.
csomakk

Дякую. Починається з короткого та точного рішення та продовжує інший корисний інструмент: 'jenv' зручно мати навколо, і його немає у більшості інших відповідей. Допомогла з упаковкою коду Scala (2.12 / 2.13) у 2020 році.
emllnd

Працює як шарм, заварюй бочки встановіть accetopenjdk / openjdk / accetopenjdk8
jeadonara

25

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

По-перше, вам потрібно заварити бочки і дженв .

  1. Ви можете знайти корисний посібник тут, Посібник із встановлення домашнього бочка . Не забудьте торкнутись "caskroom / version", що працює в терміналі: 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
Nikhil


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 розміщена в різних місцях.


Чому б не зробити псевдонім для іншої версії, наприклад alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java?
cglacet

14

Схоже, ще ніхто не згадав про людину SDK ( 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)
                                                                                                                                                                                                         ```


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/ та homebrew.

Тоді його справедливість jenv global oracle6401.6.0.39і її безліч.


1
+1: я використовую цей сценарій, і я згоден, він досить корисний для розробників, які мають кілька проектів, які вимагають різних версій Java.
barclay

8
Насправді не потрібно встановлювати будь-які сценарії до тих пір, поки вам потрібно використовувати лише певну версію системи. В основному все , що вам потрібно зробити , це додати в ваш ~/.bashrcабо ~/.bash_profile: експорт 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, глобально або локально за каталогами.
Крістіан Лонг

12

Скористайтеся Інсталятором, Лука

Інші відповіді, які напрошують менеджера пакунків 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 s на macOS .

скріншот папки "/ Бібліотека / 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

Нова каденція випуску

Майте на увазі, що у 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 System Preferences .

AdoptOpenJDK.net

AdoptOpenJDK - це зусилля, керовані громадою, для створення бінарних файлів джерела OpenJDK. Вони мають намір запропонувати оновлення з часом, як пожертвували члени громади.

  • Ваш вибір або HotSpot, або двигун OpenJ9 .
  • Побудови, доступні для macOS, Linux та Windows.

OpenJ9 від Eclipse

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

Зараз він спонсорується у Фонді Eclipse, а технології та підтримка пожертвує IBM у 2017 році.

Для попередньо вбудованих бінарних файлів вони спрямовують вас до згаданого вище проекту AdoptOpenJDK .

Мотивації вибору постачальника для Java.png


Як встановити

Інсталятори, що надаються Oracle або Azul, вкрай прості в експлуатації. Просто запустіть програму інсталятора на вашому Mac. З'явиться вікно, яке вказує на хід встановлення.

По завершенні перевірте встановлення JVM:

  • Відвідайте /Library/Java/JavaVirtualMachines/папку, щоб побачити елемент для нового JVM.
  • Запустіть консоль, таку як Terminal.app, і введіть, java -versionщоб побачити марку та номер версії JVM.

Після підтвердження успіху демонтуйте .dmg зображення у Finder. Потім виберіть завантажений файл .dmg.


11

Виконайте ці команди на mac High Sierra

brew update
brew tap caskroom/versions
brew cask install java8

і перевірити за допомогою команди

java -version

Отримання цього: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, але не команду

 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

знайти / usr / local / Homebrew / Library / Taps / | grep -i jdk | xargs rm -v, якщо у вас трапиться отримати "Помилка: Cask accepttopenjdk8 існує в декількох дотиках:" помилка ...
Йордан Георгієв,

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. (Або заварюйте бочковий інсталятор accepttopenjdk / openjdk / accepttopenjdk8)
McAllister Bowman

+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

3

Встановити за допомогою Homebrew

Версія Java, доступна в Homebrew Cask, попередня до 3 жовтня 2018 року, справді стала OV 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' недоступний: Не існує жодної скриньки з цим ім’ям.
Денніс Джахеруддін

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.


вона завжди встановлює останню версію
Рей Гарнер

1

Спробуйте:

Заварити бочкову установку java 8,, це дасть результат нижче

8tracksradiohelper accepttopenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8

Далі введіть: встановіть вариво, встановіть квасочку.


0

Я б запропонував використовувати людину SDK, що змінити Версію (тимчасово та постійно) досить просто, і вона також надає інші SDK. Я використовую чоловіка SDK вже більше року.

https://sdkman.io/


ty для підказки на sdkman.io! Я бачив це через нитку так довго, але міг прочитати кінець. Fyi, цей наконечник також вище 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

Це все, що це буде працювати як шарм.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.