从 application.conf 加载自定义 conf 文件时出错
Error in Loading custom conf file from application.conf
我正在使用 play-2.3。我想通过 application.conf
加载我的自定义配置文件。但无法加载它。
conf /
application.conf
mycustom.prop
我将 mycustom.prop 包括在 application.conf 中,如下所示。
include file("CAB.prop")
or
include "mycustom.prop"
or
include "mycustom"
以上的 None 有效。
mycustum.prop:
myappIp=x.x.x.x
myappport=1234
在我尝试访问 myAppIp 的代码中,它给了我 NullPointerException
MyGlobal.java
import com.typesafe.config.ConfigFactory
...
String ip = ConfigFactory.load().getString("myAppIp"); // this line throws NullPointerException
我不确定,问题出在加载 mycustom.prop
或获取其值时。
您可以尝试将 application.conf
包含在 mycustom.prop
中,然后使用 -Dconfig.resource
或 -Dconfig.file
.
启动激活器
你的mycustom.prop
:
include "application.conf"
# much configuration follows
如果您的配置文件在类路径中(例如在配置文件夹中),则以 activator -Dconfig.resource=mycustom.prop
开头 - 如果您想指定路径,则以 activator -Dconfig.file=/opt/conf/mycustom.prop
开头。
编辑:
原来他们只支持几个文件扩展名:https://github.com/typesafehub/config#rationale-for-supported-file-formats。我测试了各种文件,只有 .properties
、.conf
和 .json
文件被 include
拾取。任何其他文件类型都将被忽略。
(以下不是问题,尽管 Play 文档说明了这一点,但底层库接受问题中提到的格式 - 保留在这里用于遗留目的)
来自docs:
An include statement consists of the unquoted string include and a single quoted string immediately following it.
所以应该是
include "mycustom.prop"
我正在使用 play-2.3。我想通过 application.conf
加载我的自定义配置文件。但无法加载它。
conf /
application.conf
mycustom.prop
我将 mycustom.prop 包括在 application.conf 中,如下所示。
include file("CAB.prop")
or
include "mycustom.prop"
or
include "mycustom"
以上的 None 有效。
mycustum.prop:
myappIp=x.x.x.x
myappport=1234
在我尝试访问 myAppIp 的代码中,它给了我 NullPointerException
MyGlobal.java
import com.typesafe.config.ConfigFactory
...
String ip = ConfigFactory.load().getString("myAppIp"); // this line throws NullPointerException
我不确定,问题出在加载 mycustom.prop
或获取其值时。
您可以尝试将 application.conf
包含在 mycustom.prop
中,然后使用 -Dconfig.resource
或 -Dconfig.file
.
你的mycustom.prop
:
include "application.conf"
# much configuration follows
如果您的配置文件在类路径中(例如在配置文件夹中),则以 activator -Dconfig.resource=mycustom.prop
开头 - 如果您想指定路径,则以 activator -Dconfig.file=/opt/conf/mycustom.prop
开头。
编辑:
原来他们只支持几个文件扩展名:https://github.com/typesafehub/config#rationale-for-supported-file-formats。我测试了各种文件,只有 .properties
、.conf
和 .json
文件被 include
拾取。任何其他文件类型都将被忽略。
(以下不是问题,尽管 Play 文档说明了这一点,但底层库接受问题中提到的格式 - 保留在这里用于遗留目的)
来自docs:
An include statement consists of the unquoted string include and a single quoted string immediately following it.
所以应该是
include "mycustom.prop"