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

Я хотел бы использовать 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 доступен.

Итак, теперь я чувствую, что могу попробовать попробовать WatchService API. Из учебника в первой ссылке автор дал .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.

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

EDIT: Я фактически не преследовал использование Java 7, но в этом есть большой интерес, и кажется, что люди продолжают отвечать на этот вопрос. Что я должен сделать, чтобы сделать его более актуальным для людей, которые его ищут? Дайте мне знать, PMing меня.

Ответ 2

Вот как я получил 1.7 для работы с Eclipse. Надеюсь, это поможет.

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

который должен быть следующим:)

Ответ 3

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 была готова вместе с другими платформами. Работает на Mac с 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. Больше нет необходимости в трюках, обсуждаемых на этой странице.

Простая установка для этих инструкций:

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

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

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

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

/Library/Java/JavaVirtualMachines

Поздравляем команды Apple и Oracle за их достижение. Этот geek получает острые ощущения, увидев, что Mac OS X указан как Сертифицированная конфигурация системы.

Совет. Чтобы запустить Eclipse на Mac с установленной только Java 7, откройте alias файл с именем 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.

Ответ 4

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

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

brew cask install caskroom/versions/java7

Ответ 5

Я знаю, что некоторые могут захотеть ударить меня за повторное открытие старого сообщения, но если вы так чувствуете, я просто надеюсь, что это может помочь кому-то еще попробовать установить 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/Содержание/Главная. Не заблуждайтесь в /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)

Ответ 6

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

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

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

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

Ответ 7

после установки 1.7jdk из oracle, я изменил свои сценарии bash, чтобы добавить:

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

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

Ответ 8

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

brew tap caskroom/cask

Установить java7:

brew tap caskroom/versions
brew cask install java7

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

Ответ 11

Инструкции peter_budo отлично работали. Я должен был добавить банки в /Library/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Contents/Home/jre/lib/ в мои библиотеки проектов IntelliJ. Теперь это работает как шарм. Обратите внимание, что мне не нужна моя IDE для работы под 1.7; скорее, мне нужно было только скомпилировать и запустить против 1.7. Я, скорее всего, продолжу использовать Apple JRE для запуска IDE, поскольку он, вероятно, более стабилен в отношении графических подпрограмм (Swing, AWT). Как и OP, я был очень заинтересован в тестировании нового API NIO2. Пока ничего хорошего. Спасибо, Питер.

Ответ 12

Что работало для меня на Lion, я устанавливал JDK7_u17 из Oracle, а затем редактировал файл ~/.bash_profile, чтобы включить:   экспорт JAVA_HOME =/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Содержание/Главная

Ответ 13

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