楽落人の備忘録

楽して生きていきたい。知識とか覚えておきたくない。

an unknown property

spring boot アプリケーション作成時に、独自プロパティを設定してjava内で利用しようとした際に、

「'test.test.tset' is an unknown property.」と警告が表示された。

それを回避する方法をメモとして残しておく。

参考:

Spring Boot 独自のプロパティを定義して使う - 山崎屋の技術メモ

 

src/main/resources/META-INF/spring-configuration-metadata.json

というファイルを作成して中に、

{
	"properties": [
		{
			"name": "test.test.test",
			"type": "java.lang.String",
			"description": "A description for 'test.test.test'"
		}
	]
}

と記載しておけば警告は消える。

ただし、消してしまって問題ないかは確認が必要な気がする。

参考:

Configuration Metadata

 

推測ではあるが上記のMETA-INF/spring-configuration-metadata.jsonにてそもそもフレームワーク側でも許容するプロパティ値を持っていると考えられるため、追加して警告対象外とした項目が既存フレームワークで許容している項目と重複すると都合が悪い気がする。

が、今回はいったん回避方法として記載を残す。

 

補足:

上記プロパティはapplication.propertiesに記載し、JAVA側は以下のように実装。

import org.springframework.beans.factory.annotation.Value;
~中略~
@Value("${test.test.test}") private String password;