2017-10-11 64 views
3

我有一个基本的Dropwizard v1.2.0应用程序。Dropwizard:.yml配置是强制性的吗?

java -jar application.jar server config.yml 

是否有可能为Dropwizard而不把它config.yml文件的工作:我可以从我的命令行中执行呢?

我这么问是因为,现在,我的config.yml看起来是这样的:

mySetting: ${DW_MY_SETTING} 
defaultSetting: ${DW_DEFAULT_SETTING:-default value} 

我使用的是'DW_MY_SETTING''DW_DEFAULT_SETTING'环境变量来填充config.yml,然后在config.yml值正在用于设置MyConfiguration.java(这是我的类的名称,它扩展了io.dropwizard.Configuration)。

我可以直接从环境变量设置MyConfiguration.java,而不需要打开config.yml文件吗?

在此先感谢您的帮助。

回答

0

如果你要利用io.dropwizard.Configuration不指定YAML文件,那么你需要提醒它忽略JSON性质是这样的:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 
import io.dropwizard.Configuration; 

@JsonIgnoreProperties(ignoreUnknown = true) 
public final class EnvironmentOnlyConfig extends Configuration { 
    public static String getDwMySetting() { 
     return System.getenv("DW_MY_SETTING"); 
    } 
}