Как исправить Picked up _JAVA_OPTIONS: no options listed в Linux?

Вопрос или проблема

Эта проблема связана с Manjaro Deepin 15.9 linux DE. Когда я выполняю команду java -version в терминале, она выдает следующее:

Picked up _JAVA_OPTIONS:    
java version "11.0.2" 2019-01-15 LTS     
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)    
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

Но если команду выполнить с sudo, она выводит обычное сообщение без Picked up _JAVA_OPTIONS:!

Я справился с этим, добавив unset JAVA_OPTIONS в /etc/environment, /etc/profile и ~.bashrc для удаления сообщения из терминала. Но сообщение по-прежнему отображается в Netbeans, когда я запускаю проект.

Также я запускал Netbeans с sudo, чтобы проверить, будет ли оно показываться, и не показывалось.
Я пытался удалить некоторые программы из Linux, которые мне не нужны или, возможно, были причиной появления сообщения (потому что я читал несколько постов о проблемах с программами), но ничего не изменилось.

То, что сообщение не отображается при использовании sudo, заставляет меня думать, что, возможно, у пользователя root не установлено что-то, что установлено у обычного пользователя и вызывает это сообщение.

Это сообщение видно в живом превью Manjaro Deepin на загрузочной USB!

Я знаю, это старый вопрос, но на случай, если кто-то наткнется на него позже…

Кратко: вы не можете подавить это сообщение. См. https://stackoverflow.com/a/13863175/4797233 для альтернатив.

Но почему оно появлялось только иногда? Когда вы меняли пользователя с помощью sudo, изменялась также ваша среда, и, по-видимому, переменная _JAVA_OPTIONS отсутствовала в среде пользователя root. Оно также исчезало, когда вы удаляли эту переменную из своей среды. Однако Netbeans может изменять среду, как ему угодно, прежде чем создать Java-подпроцесс, и он настроен на добавление этой переменной независимо от того, была она или нет. Вы должны иметь возможность настроить Netbeans так, чтобы он вообще не добавлял переменную, но конкретные шаги зависят от версии Netbeans.

Поищите все файлы в каталогах environment.d и profile.d.

Используйте эту команду, чтобы проверить, в каком файле была установлена эта переменная.
В моем случае она была установлена в файле
95kali-themes.conf.

Я использовал команду grep, чтобы проверить, где она может храниться,
и нашел ее в каталоге environment.d:

grep "JAVA" /etc/environment.d/*

Моя рекомендация – проверить все расположения,
где находятся файлы конфигурации,
которые загружаются во время инициализации терминала.

.

Ответ или решение

При работе с Linux, в частности Manjaro Deepin 15.9, некоторые пользователи могут столкнуться с сообщением "Picked up _JAVA_OPTIONS", появляющимся при выполнении команды java -version. Оно указывает на наличие переменной окружения _JAVA_OPTIONS, которая воздействует на конфигурацию Java. Ключевым является тот факт, что выполнение команды от имени суперпользователя (sudo) не вызывает этого сообщения, что указывает на различия в конфигурации окружения обычного и root-пользователей.

Шаги по решению проблемы:

  1. Диагностика источника проблемы:

    • Для начала используйте следующую команду, чтобы определить местоположение файла, в котором установлена переменная _JAVA_OPTIONS:
      grep "JAVA" /etc/environment.d/* /etc/profile.d/*
    • Подобные файлы, такие как 95kali-themes.conf, могут содержать конфигурации, влияющие на Java, и часто находятся в каталогах /etc/environment.d или /etc/profile.d.
  2. Устранение переменной из окружения:

    • Если вы обнаружите, что переменная установлена в одном из найденных файлов, удалите или закомментируйте соответствующую строку. Это предотвратит её загрузку при инициализации терминала.
  3. Обновление скриптов и конфигураций:

    • После удаления переменной перезагрузите терминал или выполните команду source на обновлённом файле профиля, чтобы изменения вступили в силу:
      source ~/.bashrc  # для текущего пользователя
      source /etc/profile  # для системных переменных
  4. Конфигурация NetBeans:

    • Если проблема продолжается в NetBeans, возможно, конфигурации IDE также устанавливают _JAVA_OPTIONS. Вам стоит проверить настройки среды выполнения в самой IDE. Например, в некоторых версиях можно изменить параметры запуска через меню "Запуск" -> "Настройки запуска" -> "Параметры Java".
  5. Отладка окружения:

    • Запуск команд с командой env покажет текущее окружение, и поможет идентифицировать активные переменные. Например:
      env | grep JAVA

Заключение:

Устранение постоянных конфигурационных сообщений, как в случае с _JAVA_OPTIONS, требует внимательного изучения путей инициализации окружения в Linux-системах. Выполнение вышеуказанных шагов должно помочь устранить нежелательные сообщения, а также улучшить удобство и предсказуемость использования Java и сопутствующих приложений на вашем рабочем столе. Оптимизация среды выполнения, а также её настройка требует системного подхода и внимания к деталям каждого этапа инициализации вашей системы.

Оцените материал
Добавить комментарий

Капча загружается...