【发布时间】:2018-03-13 17:12:56
【问题描述】:
我有一个 dropwizard 问题。我将 Dropwizard 与 SBT 一起使用(效果很好)。 如果我运行我的应用程序,我会将其打包:
$ sbt clean assembly
然后运行应用程序:
$ java -jar APPLICATION.jar server
问题在于这个命令 Dropwizard 没有加载我的配置文件 (config.yaml),它位于资源中。 关于 Dropwizard Docs,我总是必须将配置文件作为参数提供,例如:
$ java -jar APPLICATION.jar server config.yaml
这工作正常,它会加载应用程序,但是否有可能告诉 Dropwizard 直接加载 config.yaml 文件,因为我在 config.yaml 文件中的配置是静态的,并且始终相同。从服务器阶段更改为服务器阶段的数据库等设置被设置为环境变量,我使用 EnvironmentVariableSubstitutor 加载。
谢谢
【问题讨论】:
-
您可以在
Configuration对象中为您的属性提供默认值,或者使它们不需要。我认为如果它们具有默认值或未指定为@NotEmpty/@NotNull,那么如果您不加载配置文件,Dropwizard 不会抱怨。 -
@condit 感谢您的链接,也许我的问题不清楚,我的意思是 dropwizard 中的默认值是资源文件夹中的 yaml 文件。有没有默认配置。因此,如果我启动应用程序而不传递 config.yaml 作为参数,他会查看资源文件夹中是否有配置文件?
标签: java maven sbt dropwizard