Cloud foundry 在CloudFoundry上设置jvm变量

Cloud foundry 在CloudFoundry上设置jvm变量,cloud-foundry,Cloud Foundry,我有一个Java应用程序,使用jvm变量。通常,我使用如下命令设置它 APP_HOME=“-DAPP_HOME=$CATALINA_HOME/myapp” 以便在Tomcat上指向我的应用程序结构中的正确文件夹。 现在我正在尝试将我的应用程序部署到微云虚拟机。部署后,我使用命令 vmc env add myapp_HOME=“-DAPP_HOME=$HOME/myapp 设置我的变量。但问题是该变量设置为shell变量而不是JVM变量。当我使用System.getenv();时,我可以看到我的变

我有一个Java应用程序,使用jvm变量。通常,我使用如下命令设置它
APP_HOME=“-DAPP_HOME=$CATALINA_HOME/myapp”
以便在Tomcat上指向我的应用程序结构中的正确文件夹。 现在我正在尝试将我的应用程序部署到微云虚拟机。部署后,我使用命令
vmc env add myapp_HOME=“-DAPP_HOME=$HOME/myapp
设置我的变量。但问题是该变量设置为shell变量而不是JVM变量。当我使用
System.getenv();
时,我可以看到我的变量已设置,但当我使用
System.getProperty(“APP_HOME”)
时,该变量为空。 任何人都有这方面的经验,可以建议如何将其设置为CF上的JVM变量

p、 美国。 我阅读了CloudFoundry Q&A和stackoverflow的所有现有主题,但我没有看到这个问题的答案

提前谢谢你!

怎么样

vmc env add myapp JAVA_OPTS=“-DAPP_HOME=$HOME/myapp”

(即,pass-DAPP_HOME作为JVM的属性)


但是,您为什么要尝试这样做?为什么仅仅使用getenv获取值而不是查找系统属性是一个如此糟糕的主意?

非常感谢您的回答,这正是我一直在寻找的答案,但我太盲目了:)它工作得很好!您是对的,没有特别的理由不使用getenv(环境变量),除此之外,应用程序已经开发为使用jvm属性,我现在不想全部更改,只想将其部署到CF。。。