2017-08-23 8 views
0

My Cloud Configのapplication.ymlにカスタムプロパティを追加したいとします。ファイル内のコメントは、すべての共有構成用であると言います。しかし、そうすると、JHipsters自身のApplicationPropertiesにプロパティをバインドさせ、そのクラスで失敗するようにします。正しい書き込み可能なプロパティはありません。JHipster Cloud application.ymlにプロパティを追加すると、レジストリ設定が失敗する

application.yml

application: 
    clients: 
     - Foo 

スタックトレース:

Caused by: org.springframework.boot.bind.RelaxedBindingNotWritablePropertyException: Failed to bind 'application.clients[0]' from 'file:central-config/localhost-config/application.yml' to 'clients[0]' property on 'io.github.jhipster.registry.config.ApplicationProperties' 

答えて

1

JHipsterのドキュメントから:

アプリケーション固有のプロパティーあなたの生成されたアプリケーションは、独自の春のブート性質をも 持つことができます。これは、 がアプリケーションのタイプセーフな設定を可能にし、 の自動補完とIDE内の文書化を可能にするので、強くお勧めします。

JHipsterは、すでに事前設定されてコンフィグ パッケージでApplicationPropertiesクラスを生成しており、それはすでにapplication.yml、アプリケーションdev.ymlと アプリケーションprod.ymlファイル下部に が記載されています。 あなたがする必要があるのはあなた自身のコード のコードです。(強調鉱山)

この手順を実行し、独自のプロパティをApplicationProperties.javaに追加しましたか?タイプList<String> clientsのプロパティが必要です。あなたがコンフィグレーションプロパティをApplicationPropertiesクラスにバインドしようとしているが、そのクラスに格納するプロパティが含まれていないため、それが失敗した理由はありません。

+0

問題は私のプロジェクトのApplicationPropertiesではありませんが、それはレジストリのアプリケーション内でプロパティクラスです。私はこのイメージを使用するドッカーを介してレジストリを起動します:jhipster/jhipster-registry:v3.1.0。内部のアプリケーション内のApplicationPropertiesは何が壊れているかです。 – ThisIsNoZaku

+1

問題はまだ同じです。そのプロジェクトの 'ApplicationProperties'(https://github.com/jhipster/jhipster-registry/blob/master/src/main/java/io/github/jhipster/registry/config/ApplicationProperties.java)には、クライアントと呼ばれるプロパティしたがって、存在しないapplication.propertiesに値を設定することはできません。 – Ben

+0

このクライアントのプロパティをレジストリに追加することによって、正確に何をしていますか? – Ben

0

カスタムスプリングブートプロパティは、アプリ内の@ConfigurationPropertiesクラスで常に定義して、その値をymlファイルに設定できるようにする必要があります。これは完全に春のブートマニュアルに記載されています

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

+0

JHipsterレジストリ内のApplicationPropertiesは壊れていますが、私のものではありません。 – ThisIsNoZaku

+0

あなたは間違いなく、エラーがレジストリにあったことをあなたの質問で明確にしておく必要があります!これは、 'central-config/application.yml'がそれ自身を構成するレジストリを含むすべてのアプリケーションによって読み込まれるため、正常です。したがって、追加した 'clients'プロパティを追加するために、レジストリのApplicationPropertiesファイルを変更する必要があります。 –

+0

問題は私のコードではないと言いました。 – ThisIsNoZaku

関連する問題