Ce que je veux résoudre, c'est comme le titre l'indique. Dans spring-boot, les informations de connexion à la base de données, etc. sont souvent écrites dans application.properties sous src / main / resources, mais je vais vous expliquer comment placer ce fichier en externe et l'utiliser avec une définition différente de celle au moment de la compilation. Je vais. Auparavant, j'avais publié "Comment utiliser Maven pour placer des fichiers de ressources en dehors de JAR", mais c'est la version de démarrage de printemps. ..
C'est vraiment facile avec la botte à ressort. Placez simplement le fichier de ressources (application.properties, etc.) que vous souhaitez placer en externe dans un dossier séparé et spécifiez-le comme chemin de classe au moment de l'exécution.
Autrement dit, si vous exécutez my-java-app.jar et que vous souhaitez charger application.properties dans le dossier external_resource, incluez le dossier external_resource dans votre chemin de classe d'exécution.
Structure des dossiers
my-java-app.jar
external_resource
└ application.properties
commander
java -classpath ./external_resource -jar my-java-app.jar
La raison de ce comportement est que spring-boot a les priorités de lecture du fichier de ressources suivantes.
En fait, il existe une définition plus détaillée des priorités de lecture, comme d'autres l'ont expliqué ci-dessous.
Je suis reconnaissant que la botte à ressort puisse bien atteindre l'endroit qui démange. Et merci à @niwasawa pour la traduction de la documentation officielle.