Придушення повідомлення "Підібрали _JAVA_OPTIONS"


13

Я використовую _JAVA_OPTIONS, щоб встановити деякі параметри за замовчуванням для Java на RHEL. Це добре працює, але тепер кожного разу, коли я запускаю Java, я отримую таке повідомлення

 Picked up _JAVA_OPTIONS: -foo -bar -baz

чи можливо зберегти параметри, але придушити показ цього повідомлення.

Відповіді:


11

Яву часто називають абсолютними шляхами на кшталт /usr/bin/java, що робить цю відповідь марною в одних випадках і вимагає більше, щоб вона працювала в інших.

Це рішення, яке я знайшов, вимагає написання сценарію оболонки для обгортки, який перенаправляє STDERR через фільтр, видаляючи порушуючий рядок. Він повинен бути поміщений в $PATHперед Явою двійковим це обертає і викликаються з простим java, which javaабо аналогічним (або вашим інструментом повинен бути налаштований для використання його)

Він покладається на здатність bash створити підзаголовки з дужками (command)і перенаправити STDERR Java на його STDIN command1 2> >(command2). Нарешті, процес в підпакеті повинен знову перенаправити свій відфільтрований вхід на STDOUT, щоб програми Java все ще могли використовувати STDERR.

#!/bin/bash
/usr/bin/java "$@" 2> >(grep -v "^Picked up _JAVA_OPTIONS:" >&2)

Можливо , страшна практика, але це для Docker зображення , і я втомився від всіх червоних під час docker build- але я перейменував ${JAVA_HOME}/bin/javaв java2і поставити модифіковану версію цього скрипта в там java(з chmod +x). Працював як шарм!
— BrainSlugs83

2

Або ви можете помістити це в файли запуску оболонки / профілі:

_SILENT_JAVA_OPTIONS="$_JAVA_OPTIONS"
unset _JAVA_OPTIONS
alias java='java "$_SILENT_JAVA_OPTIONS"'

що працює лише при прямому виклику java ...через командний рядок. всі виклики Java через сценарії чи інші батьківські процеси не будуть впливати
— літаючі вівці

ну, ви можете змінити / bin / java, щоб бути сценарієм оболонки, який робить те саме, якщо ви дійсно хочете.
— spelufo

навіть якщо ви цього не зробите, налаштування буде скасовано, тому інші команди також будуть впливати. Це замовчить їх, не передаючи їм жодних варіантів :).
— spelufo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.