我在尝试将变量替换与typesafehub ConfigFactory fileParser一起使用时遇到问题
我的代码是
Configuration(ConfigFactory.parseFile(new File("/Users/TDong/files/app.conf")).resolve())
我的app.conf文件包含
path = ${java.home}
在每次解析时,我都无法通过变量替换来解析该变量以找到java系统属性home。任何想法如何使这项工作
最佳答案
要利用主要功能,您需要坚持使用ConfigFactory.load()
或通过Config#withFallback
方法处理merging configuration。其实就是这样ConfigFactory#load()
有效。
https://github.com/typesafehub/config#standard-behavior
便捷方法ConfigFactory.load()加载以下内容
(优先顺序较高):
系统属性application.conf(类路径上的所有资源
这个名字)
application.json(与此相关的classpath上的所有资源
名称)
application.properties(与此相关的classpath上的所有资源
名称)
reference.conf(具有该名称的classpath上的所有资源)
恕我直言,您应该依靠默认行为,并使用-Dconfig.file=/path/to/your.conf
将文件作为参数传递给您的应用程序。
我强烈建议您阅读写得很好的文档。
关于java - ConfigFactory ParseFile使用具有Java系统属性的变量替换解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44686518/