JAVA_TOOL_OPTIONS
環境変数多くの環境では、必要なコマンド行オプションを使ってアプリケーションを起動するコマンド行には容易にアクセスできません。これは、埋込みVMを使用するアプリケーション(VMの起動にJava Native Interface (JNI)呼出しAPIを使用することを意味する)や、起動がスクリプト内で深く入れ子になっている場合に頻繁に起こります。このような環境では、JAVA_TOOL_OPTIONS
環境変数がコマンド行の拡張に役立つ可能性があります。
この環境変数が設定されていると、JNI_CreateJavaVM
関数(JNI呼び出しAPIの中にある)はそのJavaVMInitArgs
引数で提供されるオプションの先頭に、その環境変数の値を追加します。
注: 場合によっては、セキュリティ上の理由でこのオプションが無効になることがあります(たとえば、Oracle Solarisオペレーティング・システムでは、有効なユーザーまたはグループのIDが実際のIDと異なる場合に、このオプションが無効になる)。 |
この環境変数では、ツールの初期化(具体的には-agentlib
または-javaagent
オプションを使用したネイティブまたはJavaプログラミング言語エージェントの起動)を指定できます。次の例では、アプリケーションの起動時にHPROFプロファイラが起動されるように、この環境変数が設定されています。
$ export JAVA_TOOL_OPTIONS="-agentlib:hprof"
この変数は、診断の目的でコマンド行をほかのオプションを使って拡張するためにも使用できます。たとえば、-XX:OnError
オプションを使用すると、致命的エラーが発生した場合に実行されるスクリプトまたはコマンドを指定できます。
この環境変数はJNI_CreateJavaVM
関数の呼出し時に検査されるため、通常はランチャによって処理されるオプションを使ったコマンド行の拡張(-client
または-server
オプションを使ったVM選択など)には使用できません。
JAVA_TOOL_OPTIONS
環境変数の詳細は、JVM Tool InterfaceドキュメントのJavaツール・オプションを参照してください。