2

我有一个使用 jvm 变量的 Java 应用程序。通常,我使用类似 APP_HOME="-DAPP_HOME=$CATALINA_HOME/myapp" 的命令来设置它,以便在 Tomcat 上指向我的应用程序结构中的正确文件夹。现在我正在尝试将我的应用程序部署到 MicroCloud 虚拟机。部署后,我使用命令 vmc env-add myapp APP_HOME="-DAPP_HOME=$HOME/myapp 设置变量。但问题是该变量设置为 shell 变量而不是 JVM 变量。当我使用时System.getenv();,我可以看到我的变量已设置,但是当我使用时System.getProperty("APP_HOME"),变量为空。任何人都有这方面的经验并且可以推荐如何将其设置为 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 回答