1. ホーム
  2. java

[解決済み] CATALINA_OPTS vs JAVA_OPTS - 違いは何ですか?

2022-10-02 04:27:48

質問

私は、Apache Tomcat の変数である CATALINA_OPTSJAVA_OPTS という質問と答えがまだここに投稿されていないことに驚きました。 そこで、その違いを知った上で、ここで(答えとともに)共有しようと思いました。 以下、答えと違いを確認してください。

注意 この投稿の時点では、我々は、CentOS5の64ビットアーチ上のJDK 6u32とApache Tomcat v6.0.10を実行しています。

どのように解決するのですか?

2つの環境変数があります。 CATALINA_OPTSJAVA_OPTS - であり、どちらも catalina.sh で使用されています。それらは、そのファイル内のコメントで次のように記述されています。

[JAVA_OPTS]。(オプション) "start"、"stop"、または "run" コマンドが実行されたときに使用されるJavaランタイムオプション

[catalina_opts]を参照してください。(オプション) Java ランタイムオプション start"またはrun"コマンドが実行されたときに使用されます。

では、なぜ2つの異なる変数があるのでしょうか?そして、その違いは何なのでしょうか?

まず、どちらの変数に指定されても、Tomcat を起動するコマンド ("start" または "run") には同じように渡されますが、"stop" コマンドには JAVA_OPTS に設定された値だけが渡されます。これは、開始時ではなく、実行の終了時にのみ影響するので、おそらく実際のTomcatの実行方法には何の違いもないでしょう。

2 つ目の違いは、より微妙なものです。他のアプリケーションもJAVA_OPTSを使用するかもしれませんが、TomcatだけがCATALINA_OPTSを使用します。したがって、Tomcatだけで使用する環境変数を設定する場合は、CATALINA_OPTSを使用することをお勧めします。一方、JBossなど他のJavaアプリケーションでも使用する環境変数を設定する場合は、JAVA_OPTSに設定を置くべきです。

ソースはこちら。 CATALINA_OPTS v JAVA_OPTS - 違いは何ですか?