web-dev-qa-db-ja.com

Java_OPTS環境変数でJavaを実行しても効果はありません

シェルスクリプトでは、Java_OPTS環境変数を設定して(リモートデバッグを有効にしてメモリを増やすため)、次のようにjarファイルを実行します。

export Java_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
Java -jar analyse.jar $*

しかし、リモートデバッグに接続できず、JVMのメモリに変化がないため、Java_OPTS env変数の効果はないようです。

何が問題なのでしょうか?

PS:アプリケーションでコマンドライン引数を処理するため、Java -jar analyse.jar $*コマンドでこれらの設定を使用できません。

Java_OPTS環境変数を実際にチェックするJVMを知りません。通常、これはJVMを起動するスクリプトで使用され、通常はJavaコマンドラインに追加するだけです。

ここで理解しておくべき重要なことは、来るJavaへの引数before-jar analyse.jarビットのみがJVMに影響し、wo n'tはプログラムに渡されます。したがって、スクリプトのJava行を次のように変更します。

Java $Java_OPTS -jar analyse.jar $*

「正常に動作する」はずです。

49
ZoogieZork

_Java_OPTIONSの代わりにJava_OPTSをセットアップできます。これは$_Java_OPTIONSなしで機能するはずです。

84
HEX