2

jvm 変数を使用する Java アプリケーションがあります。通常、 APP_HOME="-DAPP_HOME=$CATALINA_HOME/myapp" Tomcat のアプリケーション構造内の正しいフォルダーを指すように、コマンドを使用して設定します。現在、アプリケーションを MicroCloud 仮想マシンにデプロイしようとしています。デプロイしたら、コマンドを使用し vmc env-add myapp APP_HOME="-DAPP_HOME=$HOME/myapp て変数を設定します。しかし問題は、変数が JVM 変数ではなくシェル変数として設定されていることです。使用するSystem.getenv();と、変数が設定されていることがわかりますが、変数を使用System.getProperty("APP_HOME")するとnullになります。誰もこれを経験したことがあり、CF で JVM 変数として設定する方法を推奨できますか?

ps CloudFoundry Q&A とここの stackoverflow の既存のトピックをすべて読みましたが、この問題に対する答えが見つかりません...

前もって感謝します!

4

1 に答える 1

3

どうですか

vmc env-add myapp JAVA_OPTS="-DAPP_HOME=$HOME/myapp"

(つまり、-DAPP_HOME をプロパティーとして JVM に渡します)

しかし、なぜこれをやろうとしているのでしょうか? また、システム プロパティを探すのではなく、getenv を使用して値を取得するのがなぜそんなに悪い考えなのですか?

于 2012-06-11T12:53:39.337 に答える