似乎在将我的 Spring 应用程序部署到 AppFog 时,没有检测到环境变量。
我在控制台中声明了环境变量:
我尝试从我的应用程序代码中引用这些,如下所示:
<context:property-placeholder
location="classpath:server.common.properties,
classpath:server.${concorde-env}.properties"/>
但是,这会产生错误:
引起:java.io.FileNotFoundException:类路径资源[server.${concorde-env}.properties]无法打开,因为它不存在
这种方法在其他(非 AppFog)环境中运行良好。
我通过调用注销了属性:
log.info("Properties: " + System.getProperties().toString());
而且它没有显示这些属性是可用的。
但是,如果我执行 a af env <<MY_APP_NAME>>
,它会显示存在的变量:
+--------------------------+------------------+
| Variable | Value |
+--------------------------+------------------+
| concorde-env | test |
| spring.profiles.active | runtime,test |
+--------------------------+------------------+
在运行时让这些变量暴露给我的应用程序我缺少什么?