2016-11-17 3 views
1

に私は次のエラーを取得しています:私のDropwizardコンフィギュレーション・ファイルの終わりに認識できないフィールドはDropwizard YAMLファイル

app.yaml has an error: 
* Unrecognized field at: database 
    Did you mean?: 
    - metrics 
    - instanceId 
    - logging 
    - server 
    - statsConfig 
     [12 more] 

を、私は次のようにあります。

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; 
} 

他のいくつかの複雑な設定オブジェクトが正しくロードされていますが(かなり大きな設定ファイルですが)、これは正しくありません。なぜ私はこのエラーが発生しているすべてのアイデア?

EDITこの質問はこの回答に似ています。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は最も直ちに問題になります。

関連する問題