在我的applicationContext.xml中我有这个
<context:property-placeholder location="file:#{ systemProperties['outsideConfigFile'] }" />
我用-DoutsideConfigFile = / path / to / my / file.properties(已验证)启动我的tomcat
这似乎不起作用,我得到了
INFO : org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from URL [file:#{ systemProperties['outsideConfigFile'] }]
然后
ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: (No such file or directory)
有没有人知道如何让它发挥作用?我认为问题是spring无法读取给定的系统属性文件。
非常感谢 - MB
答案 0 :(得分:0)
您的文件路径语法可能有误。阅读表4.1。此tutorial的资源字符串部分,请注意4.7.3. FileSystemResource caveats
答案 1 :(得分:0)
正如Spring所示,它无法找到该文件。
根据Spring Resource Loader文档尝试使用:-DoutsideConfigFile = file:/path/to/my/file.properties。
答案 2 :(得分:0)
使用$ {}怎么样?由于它是一个System属性,因此它与从外部文件加载的属性不同。你试过了吗?