我的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 ,忽略外部文件。
我做错了什么?
答案 0 :(得分:0)
您是否碰巧在Standard behavior阅读了typesafe配置的标准行为?
也许你可以试试他们的建议。
它说"这些系统属性指定应用程序的替代。{conf,json,properties},而不是添加。它们仅使用默认的ConfigFactory.load()配置影响应用程序。在替换配置文件中,您可以使用include" application"包括原始默认配置文件;在include语句之后,您可以继续覆盖某些设置。"