【发布时间】:2017-09-04 09:51:52
【问题描述】:
我从 2015 年开始学习本教程(已过时?): http://vertx.io/blog/vert-x-application-configuration/
我在 java 8 中使用 maven 和 vertx 3,我尝试使用 java -jar ... -conf ...path/conf.json 将外部 json 配置传递给 fat jar,应用程序启动,但所有配置值为 null。
它应该告诉我-conf 选项未知或找不到配置文件,但它只是返回 null。
@Override
public void start(final Future<Void> fut) {
config().getString("some.custom.key") // always returns null, but throws no error
}
我必须使用 https://github.com/vert-x3/vertx-config 之类的东西吗?
我应该使用vertx.getOrCreateContext().config(); 还是只使用config().?
解决方案 如果找不到配置,所有返回值将默认为空,但不是配置本身。对我来说,这只是单元测试,因为它们没有配置设置。
【问题讨论】:
-
如果您将
-conf与JSON 文件一起使用,您的verticle 的config()方法应该为您提供该文件的内容。你能用一些关于代码的细节来更新你的问题吗?你如何创建你的脂肪罐?主要课程是什么? -
我认为它在verticle的
start(Future<Void> fut)方法中不起作用,但它不应该失败,还是某种默认上下文接管?我可以在那里访问配置吗? -
@tsegismont 更新了一些代码
-
@tsegismont nulls 实际上只存在于单元测试中,这令人困惑,我仍然认为它应该抛出错误而不是默认为 null
-
如果只是在运行单元测试时,那么你应该检查你的 Maven/IDE 配置。
标签: java configuration vert.x