2016-11-17 101 views
1

推出使用一个数据库连接到MySQL一个Dropwizard应用程序时,我发现了以下错误:无法识别场Dropwizard YAML文件

database: 
    driverClass: com.mysql.jdbc.Driver 
    user: ${MYSQL_USERNAME} 
    password: ${MYSQL_PASSWORD} 
    url: ${MYSQL_URL} 

而且在我的配置类,我有以下几点:

@Valid() 
@NotNull() 
@JsonProperty() 
private static DataSourceFactory database; 

public static DataSourceFactory getDatabase() { 
    return database; 
} 

public static void setDatabase(final DataSourceFactory database) { 
    AppConfig.database = database; 
} 

其他几个复杂的配置对象正确加载(这是一个非常大的配置文件),但这不是。任何想法,为什么我得到这个错误?

编辑此问题与此相似:UnrecognizedPropertyException While Reading A YAML File。但是,该解决方案对我无效。

回答

1

编辑:检查示例应用程序herehere

  1. @JsonProperty() - 这里有额外的括号。
  2. private static DataSourceFactory database; - 从这里取出static。请参阅the docs它应该是什么样子。
  3. 还要添加= new DataSourceFactory();按文档和this question

我检查过旧版本的Dropwizard,2号是你最直接的问题。