Tomcat-9.0.30が起動しない

Tomcat-9.0.29あたりから起動スクリプト(catalina.sh)の作りが変わったらしく、CATALINA_OPTSに改行付き文字列を指定すると起動しなくなりました。

例えば以下のような感じ。

export CATALINA_OPTS="
    -server
    -Xmx8G
    -XX:+UseStringDeduplication
    -XX:+HeapDumpOnOutOfMemoryError
    ...
"

で、解決策ですが改行を消すしかありません。

catalina_opts="
    -server
    -Xmx8G
    -XX:+UseStringDeduplication
    -XX:+HeapDumpOnOutOfMemoryError
    ...
"
export CATALINA_OPTS=`echo $catalina_opts | perl -pe 's/\s+/ /g'`

これで起動するようになりました。