我在尝试将变量替换与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/

10-10 09:26