Java Platform, Standard Editionトラブルシューティング・ガイド
目次      

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ツール・オプションを参照してください。

目次      

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.