启动使用MySQL数据库连接的Dropwizard应用程序时出现以下错误:
app.yaml has an error:
* Unrecognized field at: database
Did you mean?:
- metrics
- instanceId
- logging
- server
- statsConfig
[12 more]
在我的Dropwizard配置文件的末尾,我有以下内容:
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。但是,这个解决方案对我不起作用。
答案 0 :(得分:3)
if (len(pin) != 4 and len(pin) != 6):
- 这里有额外的括号。@JsonProperty()
- 从此处删除private static DataSourceFactory database;
。请参阅the docs它应该是什么样子。static
。我已查看旧版本= new DataSourceFactory();
,而第2号是您最直接的问题。