Як використовувати JDK 7 на Mac OSX?


107

Я хотів би використовувати API WatchService, як зазначено в цьому посиланні: http://download.oracle.com/javase/tutorial/essential/io/notification.html

Прочитавши, я дізнався, що WatchService є частиною класу NIO, який запланований на JDK 7. Отже, він знаходиться в бета-формі. Це добре.

http://jdk7.java.net/download.html має JDK, який я завантажив та витягнув. Я отримав купу папок. Я не знаю, що з ними робити.

Потім я прочитав ще декілька і виявив, що якась приємна група людей створила JDK 7 як двійковий файл, щоб хтось, як я, міг це легко встановити. Він називається Open JDK: http://code.google.com/p/openjdk-osx-build/

Отже, я завантажив .dmg файл і встановив його. Потім я відкриваю "Налаштування Java" і бачу, що OpenJDK7 доступний.

Отже, тепер я відчуваю, що можу почати випробовувати API WatchService. З підручника в першому посиланні автор дав файл .java, щоб перевірити його спочатку і переконатися, що він працює. Ось посилання на файл: http://download.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java

Отже, я завантажую Eclipse (фактично використовую STS) і створюю новий проект Java і вибираю JaveSE-1.7 у "використовувати середовище виконання JRE:". Під папку src я копіюю вставлений файл WatchDir.java.

І я все ще бачу тонни кричущих червоних ліній. Усі "import.java.nio. *" Червоні, і я не можу запустити його як додаток Java.

Що мені потрібно зробити?


Чи можете ви запустити та компілювати його на консолі?
dmeister

Ви маєте на увазі: $ javac WatchDir.java, а потім $ Java WatchDir? Я спробую це. Дякую! Хоча я хотів би, щоб він був доступний у Eclipse IDE.
okysabeni

1
З сьогоднішнього дня є офіційний реліз Oracle - Java SE 7u4
мммммм

Переконайтеся, що ви використовуєте 64-бітний Eclipse. Не пощастило працювати 32-бітним на 1,7 jvm з будь-якими параметрами.
tuxSlayer

Оновлення: Java 7 зараз закінчується . Щоб перейти до довгострокової підтримки (LTS) версій Java, див. Як встановити Java 8 на Mac та отримати Java 11 для macOS? .
Василь Бурк

Відповіді:


61

Oracle випустила JDK 7 для OS X .


Я оновлю відповідь останньою інформацією. Будь ласка, дайте мені знати, чи це не правильна відповідь. Дякую.
окісабені

@Yko - подивіться інформацію про BasilBourque для найповнішої інформації (або моєї для першого Oracle JDK7 версії 4)
mmmmmm

12
Зауважте, що для того, щоб додатки використовували Java 1.7 Oracle на користь Apple 1.6 Apple, мені довелося запустити /Library/Java/JavaVirtualMachines/1.7.0.jdkта перетягнути "Java SE 7" на вершину списку на вкладці "Загальні". Це також javacвкаже на версію Java 1.7 при запуску терміналу.
sschuberth

2
JDK7 Oracle не працює над Snow Leopard. У ньому сказано, що його підтримує лише Лев.
Sanghyun Lee

@Sangdol - Так, реалізація Java Oracle працює лише на Lion та пізніших версіях. Як зазначалося у моїй відповіді на це питання.
Василь Бурк

88

Ось як мені випало 1.7 працювати з Eclipse. Я сподіваюся, що це допомагає.

  1. Я завантажив останню версію JDK OpenJDK 1.7 (32/64 біт) з гілки Mac OS / X з http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
  2. скопіював jdk в / Бібліотека / Java / JavaVirtualMachines / поруч із типом 1.6.0 за замовчуванням
  3. У програмі Eclipse> Налаштування> Java> Встановлені JRE ви додаєте новий, типу MacOS X VM, і дім встановите як /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home та ім'я Java SE 7 (OpenJDK)
  4. Клацніть Готово
  5. Встановіть доданий JRE за замовчуванням

так і повинно бути :)


дякую, що мій elcipse повністю висів .. так що я спробував використовувати sdk 1.7 працював ідеально! : =)
cV2

1
Цей проект (openjdk-osx-build) закрився і більше не пропонує завантаження.
aroth

крок 2 може бути просто: запустіть downladed jdk-7u40-macosx-x64.dmg, і він автоматично додасть файл у шлях
Michal

Додаючи встановлений JRE до Eclipse, Eclipse також може "шукати" встановлені JRE. Ось так я знайшов свою існуючу установку 1.7 JDK.
jvriesem

Зауважте, що інсталятор oracle jdk 1.7 поставить VM в / Бібліотека / Ява / JavaVirtualMachines / для вас (березень 2014 р.)
Кріс Торн

55

Ява 9, 10, 11

Роки тому Apple приєдналася до проекту OpenJDK , передавши свій раніше захищений код MacOS JVM як безкоштовний з відкритим кодом. Apple припинила розповсюдження власного фірмового JVM / JDK, покладаючись на брендові релізи Oracle, щоб включити версію для macOS.

Нещодавно Oracle оголосив про намір наблизити реліз JVM під брендом Oracle, щоб забезпечити паритет з проектом OpenJDK, практично з такою ж базою коду. Компанія навіть пожертвувала свої комерційні інструменти, програму реєстрації польотів та контролю місій , проекту OpenJDK. Це є частиною переходу до нового швидкого плану "поїзда випуску" для передбачуваної планової версії Java та OpenJDK. Зокрема, зараз скорочуються періоди безкоштовних публічних оновлень. Дивіться це оголошення 2017-09 та це повідомлення Марка Райнгольда .

В результаті всього цього, користувачі macOS Java мають вибір постачальників для реалізації Java. На даний момент щонайменше три джерела базуються на OpenJDK для macOS:

  • Релізи JDK та JRE Oracle з необов'язковою платною підтримкою.
  • Azul Systems випускає:
    • Лінійка зулу безкоштовних JVM з додатково оплачуваною підтримкою.
    • Лінія Zing комерційних СВМ із особливими функціями, такими як альтернативний сміттєзбірник.
  • Вихідний код OpenJDK , компіляція та встановлення власної ролі (можливо, не практична для більшості з нас).

Тим часом IBM пожертвувала код JVM фонду Eclipse Foundation, який зараз розміщений у проекті OpenJ9 . Цікаво, чи можуть вони також підтримувати випуск macOS, хоча про це говорити ще зарано.

Особисто я зараз використовую випуск зулу Java 10.0.1 від Azul на macOS High Sierra успішно разом з IntelliJ 2018.2 для створення веб-додатків, підтримуваних Java разом із Vaadin .

Установка / видалення

І Oracle, і Azul забезпечують прості у використанні програми для встановлення JVM / JDK на вашому Mac. Перевірте свою установку, використовуючи Terminal.app (або еквівалент) для введення та запуску:

java -version

Ви знайдете установки Java в цій папці на кореневому рівні вашого диска (не в домашній папці):

/ Бібліотека / Java / JavaVirtualMachines

Кожна версія кожного постачальника знаходиться там, у мітці вкладеної папки. Ви можете видалити будь-яку установку, просто видаливши вкладену папку для цієї версії та надавши системний пароль, коли буде запропоновано.

Java 8

Ви можете завантажити комплект Java Development Kit (JDK) для Java 8 для підтримуваних версій Mac OS X:

  • Гірський лев (10.8.3+)
  • Маверики (10.9)
  • Йосеміт (10.10)
  • Ель-Капітан (10.11)

Кожну з встановлених вами версій JVM можна знайти тут:

/Library/Java/JavaVirtualMachines

Докладніші інструкції та поширені запитання див. У цьому посібнику Oracle .

Java 7

Для кожного випуску Java 7 починаючи з оновлення 4, версія Mac була готова поряд з іншими платформами. Працює на Macs із 64-розрядним обладнанням для Lion (10.7.3+), Mountain Lion (10.8.3+) та Mavericks (10.9.x).

Oracle оголосив про офіційний випуск JDK для Java SE 7 Update 4 на Mac OS X (Lion) станом на 2012-04-26. Більше не потрібно в хитрощах обговорених на цій сторінці.

Установка проста за цими інструкціями :

  1. Завантажте зі звичного місця на веб-сайті Oracle.
  2. Монтуйте DMG.
  3. Запустіть інсталятор.

У цьому випуску є кілька обмежень, зокрема, відсутність підтримки Java Web Start та Java-плагіна для веб-браузерів. Ця підтримка очікується пізніше цього року.

Після встановлення прочитайте JDK для Mac ReadMe. Найголовніше, якщо ви хочете, щоб Java 7 була за замовчуванням, перетягніть її до верхньої частини списку в налаштуваннях Java додатку « , знайденому в папці «Утиліти».

Mac OS X легко підтримує декілька JVM одночасно. Кожен зараз знайдеться тут:

/Library/Java/JavaVirtualMachines

Вітаємо команди Apple & Oracle за їх досягнення. Цей витвір отримує захоплення, коли Mac OS X вказаний як " Сертифікована конфігурація системи ".

Порада: Щоб запустити Eclipse на Mac із встановленим лише Java 7, відкрийте псевдонім з назвою eclipse, а не файл з назвою Eclipse.app .

Java 6

Apple продовжує поставляти сучасну реалізацію Java 6 для всіх версій Mac OS X через Mountain Lion.

Якщо ви робите щось, що вимагає Java, наприклад, введіть "java -version" в Terminal.app, з'явиться діалогове вікно, що пропонує встановити Java для вас. Якщо ви погоджуєтесь, установка відбувається автоматично аналогічно іншим "Оновленням програмного забезпечення" від Apple.

Ви знайдете Java, встановлену в цьому місці, відмінну від Java 7 і 8:

/System/Library/Java/JavaVirtualMachines

Java 6 закінчила термін служби з Oracle станом на 2013-02 роки (якщо у вас немає угоди про комерційну підтримку з Oracle). Тож вам слід перейти до Java 7 або 8.

Тестування нової версії

У Terminal.app введіть, java -versionщоб перевірити, яка версія є поточною за замовчуванням.

Видалення старих версій

Після встановлення нової версії, можливо, захочете відвідати описану вище папку, щоб видалити старі версії. Перемістіть папку до кошика та надайте системний пароль, щоб завершити переміщення.


До речі, Apple надає список розсилки для технічних проблем розробників, пов’язаних з Java в OS X.


Дякую, для мене це спрацювало чудово. Потрібно змінити його і в налаштуваннях.

@Tony: Так, зміна налаштувань згадується у 4-му пункті.
Василь Бурк

Не працює. Я запускаю інсталятор, і він повідомляє "Успіх", але, здається, насправді нічого не встановлюється. /System/Library/Java/JavaVirtualMachinesмістить лише Java 6 JDK.
aroth

4
@aroth - (a) Загляньте /Library/Java/JavaVirtualMachines(не /System). (b) Чи читали ви документи про встановлення Oracle ReadMe, і встановили, Preferencesяк описано в моїй відповіді вище?
Василь Бурк

1
З Java 7 r21 я бачу /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/. Тепер до Панелі керування Java доступні через Системні налаштування (OSX 10.8.3)
Sofi Software LLC,

17

Простий спосіб встановити Java 7 на Mac - це використання Homebrew , завдяки плагіну Homebrew Cask (який зараз встановлений за замовчуванням).

Виконайте цю команду, щоб встановити Java 7:

brew cask install caskroom/versions/java7

"Помилка: недоступна скринька для розкладу / версії / java7"
jrochkind

@jrochkind Можливо, ваш caskroom/versionsзастарів? Тут напевно: github.com/caskroom/homebrew-versions/blob/master/Casks/…
Андрій

@jrochkind Спробуйте запуститись brew tap caskroom/versionsперед запуском команди встановлення
Андрій

@jrochkind Якщо це не спрацює, ознайомтеся з документацією на скриньку
Андрій

13

Дістати бочки

brew tap caskroom/cask

Встановити java7:

brew tap caskroom/versions
brew cask install java7

(У мене виникли труднощі з пошуком посилання на завантаження java7 на веб-сайті oracle, оскільки вони просто "рекомендують" java8)

EDIT Січень 2018 (Як вказував Анкур ):

Використовуйте зулу7 бочки. Zulu - це сертифікована збірка OpenJDK, вироблена Azul Systems, яка повинна існувати протягом тривалого часу (вони навіть пропонують збірки JDK6).

brew cask install caskroom/versions/zulu7

Прийнята відповідь на це питання застаріла. Мабуть, це найкращий спосіб встановити Java 7 в наші дні.
Тім Дін

цю скриньку було видалено (див.: github.com/caskroom/homebrew-versions/pull/3914 ). запропонована альтернатива - використовувати zulu7.
Анкур

9

Я знаю, що дехто, можливо, захоче відмахувати мене за повторне відкриття старої посади, але якщо ви вважаєте це так, я просто сподіваюся, що це може допомогти комусь іншим, хто намагається встановити JDK 7 на Mac OS (за допомогою IntelliJ).

Що я зробив для роботи над моєю машиною:

  • дотримуйтесь інструкцій на порту Oracle JDK7 Mac OS X для загальної установки
  • в IntelliJ відкрити / створити новий проект, щоб ви могли додати новий SDK (Файл> Структура проекту)
  • виберіть Налаштування платформи> SDK, натисніть знак "+" (плюс), щоб додати новий SDK
  • виберіть JSDK та перейдіть до / Бібліотека / Java / JavaVirtualMachines / JDK 1.7.0 Preview.jdk / Зміст / Головна. Не помиляйтесь з / Користувачами / YOUR_USERNAME / Бібліотека / Java / . Це посилається на 4 JAR з каталогу "lib" (dt.jar, jconsole.jar, sa-jdi.jar та tools.jar)
  • вам також потрібно буде додати JAR з / Бібліотека / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Зміст / Головна / jre / lib (charsets.jar, jce.jar, JObjC.jar, jsse.jar, management-agent .jar, resources.jar та rt.jar)

6

Можливо, вам все одно потрібно додати JDK до Eclipse (STS). Тільки тому, що JDK знаходиться в системі, не означає, що Eclipse знає, де його знайти.

Перейдіть до Налаштування> Java> Встановлені JRE

Якщо для 1.7 JDK немає запису, додайте його. Вам доведеться вказати Eclipse на те, де ви встановили 1.7 JDK.

Якщо Eclipse не може знайти JRE, сумісний з 1.7, я здогадуюсь, що він просто використовує ваш JRE за замовчуванням, і це, ймовірно, все ще вказує на Java 1.6, що може викликати ваші червоні чіткі лінії.


Гарний дзвінок! Але мені потрібно трохи подальших вказівок. Я переходжу до встановлених JRE -> Додати та вказую на ... / jdk1.7.0 / jre, і там знайдено купу файлів JAR. Я натискаю кнопку Готово. На щастя намагається створити, але тепер він говорить ... / jdk1.7.0 / jre / bin / java: неможливо виконати бінарний файл. Що це означає?
okysabeni

Я не дуже впевнений. Ви можете спробувати вказати затемнення на базовий каталог jdk, а не на каталог jre. Я думаю, що я зазвичай робив це в Windows, хоча я ніколи не вимикав JDK за замовчуванням на своєму Mac. Якщо це не працює, ви можете спробувати встановити інший дистрибутив JDK 7 - на сайті openjdk-osx-build було кілька різних, можливо, ви схопили той, який не сумісний з вашою системою?
Джон Кварфот

Я спробував це. Це дає мені помилку "Ціль не корінь JDK. Системна бібліотека не знайдена"
okysabeni

6

встановивши 1.7jdk від Oracle, я змінив свої bash-сценарії, щоб додати:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home

а потім біг java -versionпоказав правильну версію.





1

Інструкції від peter_budo працювали чудово. Мені довелося додати банки в / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib / до моїх бібліотек проектів IntelliJ. Зараз це працює як шарм. Зауважте, що мені не потрібно було, щоб мій IDE працював під 1.7; скоріше, мені потрібно було лише вміти компілювати та працювати з 1.7. Я, швидше за все, продовжуватиму використовувати JRE від Apple для запуску IDE, оскільки він, ймовірно, більш стабільний щодо графічних процедур (Swing, AWT). Як і в ОП, я дуже захоплювався тестуванням нового API NIO2. Поки що добре виглядає. Спасибі, Пітер.


1

Що для мене працювало на Леві, то встановив JDK7_u17 від Oracle, потім відредагував ~ / .bash_profile, щоб включити: export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.7.0_13.jdk / Contents / Home


0

Я оновлювався до Yosemite і Android Studio не прибирав мої проекти та не запускав їх на віртуальний чи реальний пристрій через наступну помилку:

Failed to complete Gradle execution.Cause:Supplied javaHome is not a valid folder. You supplied: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Після деяких досліджень та усунення неполадок я виявив, що файл JDK, на який вказували на "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home", там не було; всі "JavaVirtualMachines / 1.6.0.jdk / Зміст / Головна" відсутній у "/ Система / Бібліотека / Java". Отже, я скопіював "JavaVirtualMachines / 1.6.0.jdk / Зміст / Головна" з "/ Бібліотека / Ява /" в "/ Система / Бібліотека / Ява /" і чанг! Я знову був у бізнесі.


0

Тепер, використовувати команду

Оновлення 2020: 04

Щоб встановити Java7 з запуском домашнього перекладу:

brew tap homebrew/cask-versions
brew cask install java7

Сподіваюся, що це допоможе.

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