Tomcat ランタイムオプションを調整できません。

Tomcat ランタイムオプションを調整できません。

(私は最初にGoogleを試してみましたが、TomcatのインストールReadmeと重複した記事を100万個入手しました。)

Ubuntu 20.04でTomcat9を実行するためにJavaコマンドラインを変更しようとしています。具体的には、Xmx設定、gcロギングの有効化、HTTPプロキシ定義、およびその他のいくつかのタスクを実行しようとしています。 Tomcatはリポジトリからインストールされます。ユニットファイルにオーバーライドを追加し、JAVA_OPTS変数に必須パラメータを設定してこれを行う必要があることをどこかで読みました(当時はURLを記録しませんでした)。だからこれを作りました...

[Service]

ProtectSystem=full

Environment="JAVA_OPTS=-noverify -Xms512M -Xmx4096M -server -Dprod=true 
-Xloggc:/var/log/tomcat9/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 
-XX:GCLogFileSize=20M -Dcom.sun.management.jmxremote 
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dlog4j2.formatMsgNoLookups=true 
-Dhttp.proxyHost=proxy.bip -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.bip 
-Dhttps.proxyPort=3128 -javaagent:/var/lib/tomcat9/lib/aspectjweaver-1.8.13.jar 
-Dlog4j2.formatMsgNoLookups=true"

(ここで読みやすくするために、環境行にいくつかの改行を追加しました。ソースファイルでは1行です。)

もちろん、1つも実行していますが、systemctl daemon reloadサービスを停止/開始すると、次のように表示されます。

/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Djava.awt.headless=true -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 
-Dorg.apache.catalina.security.SecurityListener.UMASK=0027 
-Dignore.endorsed.dirs= -classpath /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar 
-Dcatalina.base=/var/lib/tomcat9 -Dcatalina.home=/usr/share/tomcat9 
-Djava.io.tmpdir=/tmp org.apache.catalina.startup.Bootstrap start

これは私のJAVA_OPTではありません。

ブートチェーンを確認してみると(下記参照)、私が設定したオプションを削除する項目は表示されません。

/lib/systemd/system/tomcat9.service
    /usr/libexec/tomcat9/tomcat-update-policy.sh
        $CATALINA_BASE/policy/catalina.policy
    /usr/libexec/tomcat9/tomcat-start.sh
        /etc/default/tomcat9
        /usr/libexec/tomcat9/tomcat-locate-java.sh
        $CATALINA_HOME/bin/catalina.sh

私は私の設定をパッケージされたソフトウェアとは別に維持したいと思います。私がここで何を見逃しているのでしょうか?

答え1

わかりましたが、文書の1つを誤って読みました。 /etc/default/tomcat9 は JAVA_OPTS 環境変数をオーバーライドします。

ファイルの説明を見ると、パッケージャはユーザーが自分のオプションを入れたい場所にいるようです。

関連情報