ホームページ  >  記事  >  Java  >  springbootがapplication.ymlを読み取るときのエラーを解決する方法

springbootがapplication.ymlを読み取るときのエラーを解決する方法

PHPz
PHPz転載
2023-05-22 11:49:051874ブラウズ

springboot が application.yml の読み取り時にエラーを報告しました

springboot プロジェクトの開始時に、構成ファイルの読み取り中にエラーが発生しました

エラー メッセージは次のとおりです

場所「classpath:/application.yml」からプロパティ ソースをロードできませんでした
....
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: 入力長= 1

情報を調べたところ、基本的にファイルのエンコード形式に問題があることが判明したため(元の yml ファイルは GBK 形式でした)、GBK 形式を UTF- に変更しました。 8. 変更後、前のファイルの中国語コメントが文字化けしていましたが、問題の原因はここから来ているはずですので、コメントをすべて削除して通常に起動しました。

注: ファイル形式を変更した後は、文字化けがないか確認してください。また、コメントも影響を受けます。

@値は Application.yml を null として読み取ります

プロジェクト要件

springBoot にはハードコーディングされた URL があり、ビデオ アドレスを取得するために http リクエストを送信します。

springbootがapplication.ymlを読み取るときのエラーを解決する方法

当初はこんな感じだったのですが、この書き方では柔軟性が足りないと思い、springBoot プロジェクトなので URL を取得できると非常に便利です構成ファイルに直接記述します。

springbootがapplication.ymlを読み取るときのエラーを解決する方法

次に、値を取得する必要がある敵は @VALUE アノテーションを使用して

springbootがapplication.ymlを読み取るときのエラーを解決する方法

を取得しますが、ライフとそこでは死を取得できず、URL は常に空です。

解決策

ついに、以前にこの変数を静的に変更したことがわかりました。静的は、クラスがロードされる前に変数を初期化します。したがって、@VALUE は現時点では有効になりません。したがって、NULL

の場合は、static を削除するだけで済みます。

springbootがapplication.ymlを読み取るときのエラーを解決する方法

以上がspringbootがapplication.ymlを読み取るときのエラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。