Postgresql *无法识别的字段位于:database,您的意思是?:-metrics-server-logging-DROPWIZARD
在应用程序配置文件(server.yml)中添加数据库详细信息后,我无法启动dropwizard应用程序 server.yml(应用程序配置文件) 运行dropwizard应用程序后,我可以看到:Postgresql *无法识别的字段位于:database,您的意思是?:-metrics-server-logging-DROPWIZARD,postgresql,jdbc,yaml,dropwizard,Postgresql,Jdbc,Yaml,Dropwizard,在应用程序配置文件(server.yml)中添加数据库详细信息后,我无法启动dropwizard应用程序 server.yml(应用程序配置文件) 运行dropwizard应用程序后,我可以看到: has an error: * Unrecognized field at: database Did you mean?: - metrics - server - logging 在应用程序配置java文件中,必须为“数据库”添加匹配属性。如果指定
has an error:
* Unrecognized field at: database
Did you mean?:
- metrics
- server
- logging
在应用程序配置java文件中,必须为“数据库”添加匹配属性。如果指定的属性是标准属性(看起来不错!),则可以使用
DataSourceFactory
类型:
public class ExampleConfiguration extends Configuration {
@Valid
@NotNull
@JsonProperty
private DataSourceFactory database = new DataSourceFactory();
public DataSourceFactory getDataSourceFactory() {
return database;
}
public void setDatabase(DataSourceFactory database) {
this.database = database;
}
}
这里的示例:除了dropwizard示例给出的代码之外,您还需要为数据库属性添加一个setter
@Valid
@NotNull
@JsonProperty("database")
private DataSourceFactory database = new DataSourceFactory();
public DataSourceFactory getDataSourceFactory() {
return database;
}
public void setDatabase(DataSourceFactory database) {
this.database = database;
}
谢谢如果成功了,这个答案应该被标记为correct。我也有同样的错误,但是对于yml的服务器部分:“unrecognedfieldat:http”我应该如何实现这个部分的配置类属性?谢谢。这对我不起作用:(我已经有了我的字段的getter,仍然面临着问题。请检查链接文档页面?自从这个答案之后,情况可能已经发生了变化……看起来他们现在可能需要JsonProperty注释(或者可能示例只是指定了它)。这将无法单独工作-设置程序也需要存在。添加一个设置程序,这将非常有效。
@Valid
@NotNull
@JsonProperty("database")
private DataSourceFactory database = new DataSourceFactory();
public DataSourceFactory getDataSourceFactory() {
return database;
}
public void setDatabase(DataSourceFactory database) {
this.database = database;
}