Установка Netbeans 8.2 на MacOS Big Sur, JDK не найден

Я недавно обновился до MacOS Big Sur, и при попытке открыть NetBeans 8.2 он выдал ошибку

JDK отсутствует и требуется для запуска некоторых модулей NetBeans. Используйте параметр командной строки --JDK home, чтобы указать установку JDK.

Я попытался установить JAVA_HOME на путь JDK, но это не сработало. Итак, я удалил Netbeans и JDK и повторно загрузил Netbeans 8.2 и JDK 8.

Теперь при попытке настроить Netbeans он показывает:

IDE NetBeans не может быть установлен. Java (JRE) находится на вашем компьютере, но требуется JDK 8 или новее. Загрузите и установите последнее обновление JDK 8 с http://www.oracle.com/technetwork/java/javase/downloads/index.html и перезапустите установку NetBeans.

Java -версия

java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

Javac -версия

javac 1.8.0_271

Мой текущий $JAVA_HOME установлен на/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home

Я также попытался установить NetBeans 11 и 12 с JDK 14 и 15, но он дает ту же ошибку

РЕДАКТИРОВАТЬ: Ниже приводится единственное решение, которое сработало для меня.

/Applications/NetBeans/Apache\ NetBeans\ 12.1.app/Contents/Resources/NetBeans/netbeans/bin/netbeans --jdkhome /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
  1. Вставьте указанную выше команду в терминал. Он открывает NetBeans. Чтобы использовать NetBeans без повторного ввода команды, сохраните указанную выше команду в редакторе кода и сохраните как NetBeans.command файл.

  2. Затем откройте файл. Щелкните ОК в появившемся сообщении. Введите следующую команду на терминале.

    sudo passwd root

  3. Введите свой пароль для входа.

  4. Просто нажмите Enter (новый пароль вводить не нужно)

  5. Тип su root и еще раз ваш пароль для входа.

  6. Тип chmod +x <path of the file you saved with .command>. Закройте терминал и откройте сохраненный файл. Теперь он должен работать.

6 ответов

Решение

Это сработало для меня: запустите Java из новой установки.

sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/Application\ Support/Oracle/Java/
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane

Перезагрузить компьютер.

Скачайте и установите Java jdk-8u271-macosx-x64Перезагрузить компьютер.

Загрузите и установите NetBeans 12.1 из Appache Netbeans (извините, Netbeans 8.2 больше не работал у меня, хотя я сначала пытался).

Откройте Netbeans, выполните команду acepte import Netbeans 8.2. Перейдите на панель настроек Netbeans в меню Netbeans. Щелкните значок Java, затем щелкните Java Shell... дождитесь ответа Netbeans. Примите любой диалог (я забыл, но появляется какой-то диалог). Netbeans будет жаловаться на то, что jdk не найден; выйти из Netbeans. Открыть файл /Applications/NetBeans/NetBeans 12.1.app/Contents/Resources/NetBeans/etc/netbeans.confс bbedit или что-то подобное. Найдите и отредактируйте строку к этому:

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home"

Сохранить файл. Откройте Netbeans; перейдите на панель настроек Netbeans в меню Netbeans. Щелкните значок Java, затем щелкните Java Shell. Он может оставаться в пустом квадрате. Закройте панель настроек; перейдите в меню "Инструменты": вы увидите меню "Платформы Java", войдите в него. Вот и вся версия Java.

Hepoe это помогает.

У меня такая же проблема. Мне не нужно было перезагружать компьютер. Я просто поменял строчку:

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home"

в файле netbeans.conf из каталога:

/Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

и это сработало для меня

Похоже, проблема в том, что /usr/libexec/java_home в BigSur не работает (см. здесь: https://developer.apple.com/forums/thread/666681).

Установщик Netbeans проверяет, установлен ли JDK, используя /usr/libexec/java_home, получает неверный ответ и завершает работу с ошибкой.

Один из способов исправить это поведение — исправить установщик. Это можно сделать следующим образом:

предполагая, что в tmp нет каталога с именем «a»:

  1. Откройте dmg, но не запускайте установщик

  2. В оболочке введите следующую команду:

pkgutil --expand /Volumes/NetBeans\ 8.2\ RC/NetBeans\ 8.2\ RC.pkg /tmp/a

(если ваш установщик Netbeans имеет другое имя, измените команду, чтобы отразить фактическое имя вашего установщика)

Это открывает пакет и копирует его содержимое в /tmp/a.

  1. Отредактируйте сценарий установки. С помощью текстового редактора откройте файл /tmp/a/Distribution.

  2. в строке 13 заменить:

var java_result = checkJavaVersion();

с

вар java_result = истина;

и сохраните файл. Это позволит пропустить проверку версии Java. Вы несете ответственность за то, чтобы на вашем компьютере была установлена ​​JDK 8 или последующие версии и чтобы эта версия использовалась при использовании команды java. Вы можете убедиться, что это нормально, проверив с помощью команды

Java-версия

  1. Давайте завершим это:

pkgutil --flatten /tmp/a ~/a.pkg

На данный момент у вас в домашнем каталоге есть пакет с именем a.pkg. Дважды щелкните по нему, и программа установки Netbeans выполнит свою работу.

У меня возникла такая же проблема, когда я смог установить Netbeans. И это работает для меня:

запустите эту командную строку в терминале:

варить установить netbeans

Это просто проблема с домашним путем netbeans jdk, чтобы не беспокоиться, попробуйте это -

Шаг 1 - Откройте терминал

/usr/libexec/java_home

Вывод - /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

Скопируйте этот путь, так как вы должны сохранить его в netbeans.conf

Шаг 2 - В терминале используйте это

nano /Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

найдите netbeansjdkhome и вставьте путь, который вы скопировали в ШАГЕ 1

В итоге это должно выглядеть так -

netbeansjdkhome="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"

Шаг 3 - Перезагрузите и откройте Netbeans 8.2, теперь он будет работать нормально.

На самом деле это довольно просто! Но понять это было действительно сложно!

Расскажу пошагово:

ШАГ 1: Прежде всего, вы должны убедиться, что вы установили JAVA_HOME следующим образом (в зависимости от версии, которую вы установили:

export JAVA_HOME=$(/usr/libexec/java_home -v "1.8.0_275")

Если вы просто не знаете, какую версию jdk вы установили, просто сделайте следующее:

/usr/libexec/java_home -V

ШАГ 2: Хорошо, теперь вам нужно загрузить любую версию netbeans, которую вы хотите установить, с веб-сайта apache. Мне понадобилось 11.1.

ШАГ 3: Откройте файл dmg и скопируйте файл pkg в свой домашний каталог (вы можете использовать Finder или что угодно).

ШАГ 4: Выполните следующую команду в своем домашнем каталоге (убедитесь, что вы заменили youruser и yourpkgfilename.pkg правильной информацией):

/usr/bin/sudo -E -- /usr/bin/env LOGNAME=youruser USER=youruser USERNAME=youruser /usr/sbin/installer -pkg yourpkgfilename.pkg -target /

Вы должны получить такой результат:

installer: Package name is Apache NetBeans IDE 11.1
installer: Installing at base path /
installer: The install was successful.

PS: Видите, я подписался на это ПРЯМО СЕЙЧАС, просто чтобы помочь всем в той же проблеме здесь, я был бы очень признателен, если бы меня проголосовали как правильное решение, если это действительно поможет вам, хорошо?

Другие вопросы по тегам