Rumah  >  Artikel  >  Java  >  Bagaimana untuk menyelesaikan ralat apabila springboot membaca application.yml

Bagaimana untuk menyelesaikan ralat apabila springboot membaca application.yml

PHPz
PHPzke hadapan
2023-05-22 11:49:051874semak imbas

springboot melaporkan ralat semasa membaca application.yml

Apabila projek springboot bermula, ralat berlaku semasa membaca fail konfigurasi

Mesej ralat adalah seperti berikut

Gagal memuatkan sumber harta dari lokasi 'classpath:/application.yml'
......
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Panjang input = 1

Selepas mencari maklumat, sebab pada dasarnya ditentukan sebagai masalah dengan format pengekodan fail (fail yml asal dalam format GBK), jadi saya menukar format GBK kepada UTF- 8. Selepas perubahan, saya mendapati bahawa komen bahasa Cina dalam fail sebelumnya adalah bercelaru Punca masalah sepatutnya Ia datang dari sini, jadi saya memadam semua komen dan memulakannya secara normal semula.

Nota: Selepas format fail ditukar, semak sama ada terdapat aksara bercelaru dan ulasan juga akan terjejas.

@Value membaca Application.yml sebagai null

Keperluan projek

Terdapat url berkod keras dalam springBoot, yang menghantar permintaan http untuk mendapatkan alamat video.

Bagaimana untuk menyelesaikan ralat apabila springboot membaca application.yml

Idea awal adalah seperti ini, tetapi kemudian saya menganggap bahawa ia tidak cukup fleksibel untuk menulis seperti ini Kerana ia adalah projek springBoot, ia sangat mudah diperoleh url terus dalam fail konfigurasi.

Bagaimana untuk menyelesaikan ralat apabila springboot membaca application.yml

Kemudian musuh yang perlu mendapatkan Nilai menggunakan anotasi @VALUE untuk mendapatkan

Bagaimana untuk menyelesaikan ralat apabila springboot membaca application.yml

tetapi kehidupan dan kematian tidak boleh diperolehi di sana URL sentiasa kosong.

Penyelesaian

Akhirnya saya dapati bahawa saya telah mengubah suai pembolehubah ini dengan statik sebelum ini. Statik memulakan pembolehubah sebelum kelas dimuatkan. Jadi @VALUE tidak berkuat kuasa pada masa ini. Jadi untuk NULL

, anda hanya perlu mengalih keluar statik.

Bagaimana untuk menyelesaikan ralat apabila springboot membaca application.yml

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat apabila springboot membaca application.yml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam