Подавление сообщения «Picked _JAVA_OPTIONS»

13839
flying sheep

Я использую _JAVA_OPTIONS, чтобы установить некоторые значения по умолчанию для Java на RHEL. Это работает нормально, но теперь каждый раз, когда я запускаю Java, я получаю следующее сообщение

 Picked up _JAVA_OPTIONS: -foo -bar -baz 

Можно ли сохранить параметры, но подавить отображение этого сообщения.

13

2 ответа на вопрос

10
flying sheep

Java часто вызывается с абсолютными путями типа /usr/bin/java, что делает этот ответ бесполезным в некоторых случаях и требует большего, чтобы заставить его работать в других.

Это решение, которое я нашел, требует написания сценария оболочки-оболочки, который перенаправляет STDERR через фильтр, удаляющий ошибочную строку. Он должен быть помещен в $PATHперед Java двоичном он заворачивает и будет называться с простым java, which javaили аналогичный (или ваш инструмент должен быть настроен для использования его)

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

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

Or you can put this in your shell startup / profile files:

_SILENT_JAVA_OPTIONS="$_JAVA_OPTIONS" unset _JAVA_OPTIONS alias java='java "$_SILENT_JAVA_OPTIONS"' 
это работает только при непосредственном вызове `java ...` через командную строку. все вызовы Java через сценарии или другие родительские процессы не будут затронуты flying sheep 8 лет назад 0
ну, вы можете изменить / bin / java на сценарий оболочки, который делает то же самое, если вы действительно этого хотите. spelufo 8 лет назад 0
даже если вы этого не сделаете, параметры будут сброшены, поэтому будут затронуты и другие команды. Это заставит их замолчать, не передавая им никаких вариантов :). spelufo 8 лет назад 0

Похожие вопросы