it-swarm.com.ru

Как мне использовать JDK 7 на Mac OSX?

Я хотел бы использовать WatchService API, упомянутый в этой ссылке: http://download.Oracle.com/javase/tutorial/essential/io/notification.html

После прочтения я обнаружил, что WatchService является частью класса NIO, который запланирован на JDK 7. Итак, он находится в бета-версии. Все в порядке.

http://jdk7.Java.net/download.html содержит JDK, который я скачал и распаковал. Я получил кучу папок. Я не знаю, что с ними делать.

Затем я прочитал еще немного и обнаружил, что какая-то группа людей из Nice создала JDK 7 в виде двоичного файла, чтобы такой, как я, мог легко установить его. Он называется Open JDK: http://code.google.com/p/openjdk-osx-build/

Итак, я скачал файл .dmg и установил его. Затем я открываю "Java Preference" и вижу, что 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.

Что мне нужно сделать?

107
okysabeni

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

61
Mukund

Вот как я получил 1,7 для работы с Eclipse. Я надеюсь, что это помогает.

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

так и должно быть :)

88
vectorsize

Ява 9, 10, 11

Несколько лет назад Apple присоединились к проекту OpenJDK , передав свои ранее проприетарные macOS специфический код JVM как бесплатный открытый исходный код. Apple прекратил распространение собственной торговой марки JVM/JDK, полагаясь на фирменные выпуски Oracle, чтобы включить версию для macOS.

Oracle недавно объявила о своем намерении довести свой выпуск JVM под брендом Oracle до паритета возможностей с проектом OpenJDK, практически с той же кодовой базой. Компания даже пожертвовала свои ранее коммерческие инструменты, Flight Recorder & Управление полетом , для проекта OpenJDK. Это является частью перехода к новому плану быстрого выпуска для предсказуемо запланированного управления версиями Java и ​​OpenJDK. Примечательно, что периоды бесплатных публичных обновлений теперь сокращены. Смотрите это объявление 2017-09 и это сообщение от Марка Рейнхольда .

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

  • Oracle release JDK и JRE, с дополнительной платной поддержкой.
  • Azul Systems выпуск:
    • Zulu линия бесплатных JVM с дополнительной платной поддержкой.
    • Zing линия коммерческих JVM со специальными функциями, такими как альтернативный сборщик мусора.
  • Исходный код OpenJDK , компиляция и установка по собственному усмотрению (возможно, не практично для большинства из нас).

Тем временем IBM пожертвовала код для JVM в Eclipse Foundation, который теперь находится в проекте OpenJ9 . Интересно, могут ли они также поддерживать релиз macOS, хотя об этом еще рано говорить.

Лично я в настоящее время успешно использую Zulu Java 10.0.1 от Azul в macOS High Sierra с IntelliJ 2018.2 для создания веб-приложений с поддержкой Java с помощью Vaadin .

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

Как Oracle, так и Azul предоставляют очень простые в использовании установщики для установки JVM/JDK на ваш Mac. Проверьте вашу установку, используя Terminal.app (или эквивалентный), чтобы ввести и запустить:

Java -version

Установки Java находятся в этой папке на корневом уровне вашего диска (не в вашей домашней папке):

/ Library/Java/JavaVirtualMachines

Каждая версия от каждого поставщика находится там, в помеченной вложенной папке. Вы можете удалить любую установку, просто удалив вложенную папку для этой версии и предоставив системный пароль при появлении запроса.

Java 8

Вы можете загрузить Java Комплект разработчика (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 была готова вместе с другими платформами. Работает на Mac с 64-битным оборудованием на Lion (10.7.3+), Mountain Lion (10.8.3+) и Mavericks (10.9.x).

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

Установка проста эти инструкции :

  1. Загрузите с обычное место на веб-сайте Oracle.
  2. Смонтируйте DMG.
  3. Запустите установщик.

В этом выпуске есть несколько ограничений, в частности отсутствие поддержки Java Web Start и Плагин Java для веб-браузеров. Эта поддержка ожидается в конце этого года.

После установки прочитайте JDK для Mac ReadMe. Самое главное, если вы хотите, чтобы Java 7 было значением по умолчанию, перетащите его в верхнюю часть списка в приложение Java Preferences , найденное в папке "Утилиты".

Mac OS X легко поддерживает несколько JVM одновременно. Каждый теперь находится здесь:

/Library/Java/JavaVirtualMachines

Поздравляем команды Apple & Oracle за их достижения. Этот фанат получает острые ощущения, увидев Mac OS X в списке " Certified System Configuration ".

Совет: Чтобы запустить Eclipse на Mac с установленным только Java 7, откройте файл alias с именем Eclipse , а не файл с именем Eclipse.app .

Java 6

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

Если вы делаете что-то, требующее Java, например, типа "Java-версия" в 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.

56
Basil Bourque

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

Запустите эту команду, чтобы установить Java 7:

brew cask install caskroom/versions/Java7
17
Andrew

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

Что я сделал, чтобы заставить это работать на моей машине:

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

Получить бочку

brew tap caskroom/cask

Установите Java7:

brew tap caskroom/versions
brew cask install Java7

(Мне было трудно найти ссылку для загрузки Java7 на веб-сайте Oracle, так как они просто "рекомендуют" Java8)

РЕДАКТИРОВАТЬ январь 2018 г. (Как указано Ankur ):

Используйте zulu7 бочка. Zulu - это сертифицированная сборка OpenJDK, созданная Azul Systems, которая должна существовать долгое время (они до сих пор даже предлагают сборки JDK6).

brew cask install caskroom/versions/zulu7
7
abe312

после установки 1.7jdk из Oracle я изменил свои скрипты bash и добавил:

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

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

6
Dustin Getz

Возможно, вам все еще нужно добавить JDK в Eclipse (STS). То, что JDK находится в системе, не означает, что Eclipse знает, где его найти.

Перейдите в "Настройки"> Java> Установленные JRE

Если для 1.7 JDK нет записи, добавьте ее. Вам нужно указать Eclipse туда, где вы установили свой 1.7 JDK.

Если Eclipse не может найти JRE, совместимую с 1.7, я предполагаю, что он просто использует вашу JRE по умолчанию, и это, вероятно, все еще указывает на Java 1.6, что вызвало бы появление красных волнистых линий.

6
Jon Quarfoth

По состоянию на 27 апреля существует официальный выпуск Oracle Java SE 7u4. Загрузите образ диска и запустите программу установки - затем посмотрите Mac readme .

2
Mark

Как насчет Netbeans, вот статья, как настроить его с NB7:

http://netbeanside61.blogspot.com/2011/06/downloading-openjdk7-binary-for-mac-os.html

Возможно, аналогичные шаги для Eclipse.

2
gzge

В Lion мне удалось установить JDK7_u17 из Oracle, а затем отредактировать ~/.bash_profile, включив в него: export Java_HOME =/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home

1
user1015892

Инструкция от peter_budo сработала отлично. Мне пришлось добавить файлы jar под / 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). Как и OP, мне очень хотелось протестировать новый NIO2 API. Выглядит хорошо до сих пор. Спасибо, Питер.

1
user1092781

По состоянию на декабрь 2017 года ранее опубликованные ссылки не работают, но JDK 7 все еще можно загрузить из Oracle Archives (требуется авторизация):

http://www.Oracle.com/technetwork/Java/javase/downloads/Java-archive-downloads-javase7-521261.html

1
ozren1983

Я обновился до 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/Contents/Home" отсутствовало в "/ System/Library/Java". Итак, я скопировал "JavaVirtualMachines/1.6.0.jdk/Contents/Home" из "/ Library/Java /" в "/ System/Library/Java /" и чап! Я вернулся в бизнес.

0
embersofadyingfire