Tomcatのカスタム設定がtomcat.env
。
我々がcatalina.sh
得る値は次のとおりです。
. "$CATALINA_BASE/bin/setenv.sh"
しかし、設定が別のファイルに存在するので、次のように追加してみました。
#!/bin/sh
if [ -f ./envvars/tomcat.env ]; then
. ./envvars/tomcat.env
fi
ただし、ファイルの値はスクリプトを実行しているシェルにはインポートされませtomcat.env
ん。catalina.sh
したがって、カスタム構成はまだ設定されていません。
なぜこれが起こるのかご存知ですか?それとも私がソースを誤って理解しているのでしょうか?
フォルダ構造
--bin (contains)
-------- catalina.sh
-------- setenv.sh
-------- envvars (contains)
-------------------- tomcat.env
スクリプトは、catalina.sh を呼び出す対話型の親スクリプトで実行され、catalina.sh の内部では tomcat.env を内部的に取得する setenv.sh を取得します。
ベストアンサー1
相対パスとして存在するディレクトリで実行する必要がありますcatalina.sh
。私の考えでは、これは上記の例を実行する前にこれを行う必要がある./envvars/tomcat.env
ことを意味すると思います。しかし、これはあなたが望むものではないかもしれません。cd
$CATALINA_BASE/bin
catalina.sh
または、フルパスにファイルをインポートするようにスクリプトを編集しますsetenv.sh
。tomcat.env
#!/bin/sh
if [ -f "$CATALINA_BASE/bin/envvars/tomcat.env" ]; then
. "$CATALINA_BASE/bin/envvars/tomcat.env"
fi