typesafe.config - 外部配置文件不起作用

时间:2018-02-14 14:05:38

标签: java command-line config typesafe

我的classpath上有 application.conf 文件,包含在jar中:

{    
  db.class : "org.h2.Driver"
  db.url : "jdbc:h2:~/database.db"
  db.username : sa
  db.password : ""
}

我希望我的应用程序使用外部.conf文件,即/home/user/cfg/app.conf:

{    
  db.class : "org.h2.Driver"
  db.url : "jdbc:h2:~/prod.db"
  db.username : someusername
  db.password : somepassword
}

我使用-Dconfig.file选项启动我的应用程序:

java -Dconfig.file="/home/user/cfg/app.conf" -jar application.jar

但ConfigFactory.load()仍会从类路径加载 application.conf ,忽略外部文件。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否碰巧在Standard behavior阅读了typesafe配置的标准行为?

也许你可以试试他们的建议。

它说"这些系统属性指定应用程序的替代。{conf,json,properties},而不是添加。它们仅使用默认的ConfigFactory.load()配置影响应用程序。在替换配置文件中,您可以使用include" application"包括原始默认配置文件;在include语句之后,您可以继续覆盖某些设置。"