Как мне использовать JDK 7 на Mac OSX? - PullRequest
107 голосов
/ 07 июня 2011

Я хотел бы использовать WatchService API, как указано в этой ссылке: 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 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.

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

Ответы [ 14 ]

1 голос
/ 06 декабря 2017

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

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

1 голос
/ 08 марта 2013

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

1 голос
/ 12 декабря 2011

Инструкция от 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. Выглядит хорошо до сих пор. Спасибо, Питер.

0 голосов
/ 12 сентября 2015

Я обновился до 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 /" и чап! Я вернулся в бизнес.

...