將我的Spring應用程序部署到AppFog時似乎沒有檢測到環境變量。部署到AppFog時未檢測到環境變量
我在控制檯中聲明的環境變量:
我嘗試我的應用程序代碼內引用這些,就像這樣:
<context:property-placeholder
location="classpath:server.common.properties,
classpath:server.${concorde-env}.properties"/>
然而,這產生錯誤:
Caused by: java.io.FileNotFoundException: class path resource [server.${concorde-env}.properties] cannot be opened because it does not exist
此方法工作在其他(非AppFog)環境中很好。
我通過調用登出屬性:
log.info("Properties: " + System.getProperties().toString());
而且它不會顯示這些特性可用。
但是,如果我做一個af env <<MY_APP_NAME>>
,它顯示了變量存在:
+--------------------------+------------------+
| Variable | Value |
+--------------------------+------------------+
| concorde-env | test |
| spring.profiles.active | runtime,test |
+--------------------------+------------------+
我缺少的是讓這些變量在運行時暴露在我的應用程序?
嘿Tim,謝謝你的回答!我遇到了同樣的問題,我用'System.getenv(「MY_ENV」)'修復了它。重要的提示! AppFog不允許帶有分隔點的變量,只能使用'_'或'-'。如果你使用點,它會返回'null'。 – maqjav