シェルスクリプトでは、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 $*
「正常に動作する」はずです。
_Java_OPTIONS
の代わりにJava_OPTS
をセットアップできます。これは$_Java_OPTIONS
なしで機能するはずです。