【发布时间】:2015-11-25 19:26:03
【问题描述】:
我在几个.properties文件中放置了变量,并在mule的mule-app.properties中成功创建了一个mule.env变量文件以引用要使用的那些文件。我试图允许命令行参数覆盖 mule.env 变量,以便可以使用指定的属性文件。我也喜欢将 mule.env 变量作为默认值存在于 mule-app.properties 文件中,以防通过命令行未设置任何内容。但似乎现有的 mule-app.properties 文件覆盖了命令行参数。
mule-app.parameters 文件包含如下变量:
mule.env=dev
虽然命令行参数如下所示:
-Dmule.env=prod
属性占位符会像这样查找属性文件:
<context:property-placeholder location="classpath:${mule.env}.properties" />
我更喜欢的结果是,当 mule 应用程序以命令行参数启动时,属性占位符会找到 prod.properties 文件而不是 dev.properties 文件;但是,它仍然使用 dev.properties 文件。
如果我从 mule-app.properties 文件中删除变量,命令行参数可以正常工作。
我更喜欢命令行覆盖 mule-app.properties 文件中的内容。那可能吗?我做错了什么?
【问题讨论】:
标签: mule