Maison  >  Article  >  Java  >  Comment résoudre l'erreur lorsque Springboot lit application.yml

Comment résoudre l'erreur lorsque Springboot lit application.yml

PHPz
PHPzavant
2023-05-22 11:49:051874parcourir

springboot a signalé une erreur lors de la lecture de application.yml

Lorsque le projet springboot a démarré, une erreur s'est produite lors de la lecture du fichier de configuration

Le message d'erreur est le suivant# 🎜🎜#

#🎜 🎜#Échec du chargement de la source de propriété à partir de l'emplacement 'classpath:/application.yml'
......

org.yaml.snakeyaml.error.YAMLException : java.nio.charset.MalformedInputException : longueur d'entrée = 1

Après avoir recherché des informations, la raison a été essentiellement déterminée comme étant un problème avec le format d'encodage du fichier (le fichier yml d'origine était en Format GBK), j'ai donc changé le format GBK en UTF-8. Après le changement, j'ai constaté que les commentaires chinois dans le fichier précédent étaient tronqués. La cause du problème devrait être ici, j'ai donc supprimé tous les commentaires et redémarré normalement. .

Remarque : Une fois le format de fichier modifié, vérifiez s'il y a des caractères tronqués et les commentaires seront également affectés.

@Value lit Application.yml comme nul

Exigences du projet

Il y a une URL codée en dur dans springBoot, envoyez une requête http pour obtenir une adresse vidéo.

Comment résoudre lerreur lorsque Springboot lit application.ymlL'idée initiale était comme ça, et puis considérant qu'écrire de cette façon n'est pas assez flexible, car c'est un projet springBoot, donc j'obtiens directement l'url dans le fichier de configuration comme ceci C'est très pratique.

Comment résoudre lerreur lorsque Springboot lit application.yml Ensuite, l'ennemi qui a besoin d'obtenir la Valeur utilise l'annotation @VALUE pour obtenir

#🎜 🎜## 🎜🎜#Mais je n'arrive pas à y trouver l'URL, elle est toujours vide.

Comment résoudre lerreur lorsque Springboot lit application.ymlSolution

Enfin, j'ai découvert que j'avais déjà modifié cette variable avec static. Static initialise les variables avant le chargement de la classe. @VALUE ne prend donc pas effet pour le moment. Donc pour NULL

, il vous suffit de supprimer la statique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer