2017-10-11 92 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"); 
    } 
}