web-dev-qa-db-ja.com

「Picked up _Java_OPTIONS」メッセージの抑制

_Java_OPTIONSを使用して、Javaのデフォルトをいくつか設定しています。正常に動作しますが、起動するたびにJava次のメッセージが表示されます

 Picked up _Java_OPTIONS: -foo -bar -baz

オプションを保持することは可能ですが、このメッセージの表示を抑制します。

13
flying sheep

Javaは、しばしば_/usr/bin/Java_のような絶対パスで呼び出されます。これにより、この回答が役に立たなくなる場合があり、他の環境で機能させるにはさらに多くのことが必要になります。

私が見つけたその解決策は、問題の行を削除するフィルターを介してSTDERRをリダイレクトするラッパーシェルスクリプトを記述する必要があります。 Javaバイナリの前の_$PATH_に配置し、ラップして、プレーンJava、_which Java_または類似のもの(またはツール)で呼び出す必要がありますそれを使用するように構成する必要があります)

括弧_(command)_でサブシェルを作成し、JavaのSTDERRをそのSTDIN command1 2> >(command2)にリダイレクトするbash機能に依存しています。最後に、サブシェルのプロセスは、フィルタリングされた入力を再度STDOUTにリダイレクトして、Javaプログラムが引き続きSTDERRを使用できるようにする必要があります。

_#!/bin/bash
/usr/bin/Java "$@" 2> >(grep -v "^Picked up _Java_OPTIONS:" >&2)
_
11
flying sheep

または、これをシェルのスタートアップ/プロファイルファイルに含めることができます。

_SILENT_Java_OPTIONS="$_Java_OPTIONS"
unset _Java_OPTIONS
alias Java='Java "$_SILENT_Java_OPTIONS"'
2
spelufo