在我的Java .properties
文件中,我有这一行:
KEYSTORE_PATH=${jboss.server.data.dir}/myapp/keys/keystore.jks
在所有其他文件中,例如log4j.properties
jboss.server.data.dir
已更改为C:\\jboss\server\default\log
,没关系。
但在这里我得到了这个例外:
java.io.FileNotFoundException: ${jboss.server.data.dir}\myapp\keys\keystore.jks (The system cannot find the path specified)
看起来JBoss不会将其属性名称更改为dir
名称。
答案 0 :(得分:0)
如果您通过java.util.Properties
类型加载属性文件,则不会对值占位符进行特殊处理。有几个第三方库提供此类功能。 Spring是其中之一。
另一个选择是在启动JBoss 4.x时使用-C命令行选项来指定自定义属性文件。加载后,JBoss将正确解析值占位符。然后,可以通过各种System.getProperties
和System.getProperty
方法访问已加载的完全解析的属性。