[JAVA] Comment sortir un fichier de ressources avec spring-boot

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. ..

Solution

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

Commentaire

La raison de ce comportement est que spring-boot a les priorités de lecture du fichier de ressources suivantes.

  1. Chemin d'accès aux classes d'exécution
  2. src / main / resources au moment de la compilation

En fait, il existe une définition plus détaillée des priorités de lecture, comme d'autres l'ont expliqué ci-dessous.

finalement

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.

Recommended Posts

Comment sortir un fichier de ressources avec spring-boot
Comment démarrer avec Slim
Comment partager des fichiers avec Docker Toolbox
[Note] Comment démarrer avec Rspec
Comment démarrer avec Eclipse Micro Profile
Comment tester une classe qui gère application.properties avec SpringBoot (requête: signalée)
Comment obtenir JDK etc. depuis Oracle avec CLI
[Ruby] Comment commenter
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Comment restaurer le fichier de migration
Écrivons comment créer une API avec SpringBoot + Docker à partir de 0
Comment utiliser Maven pour placer des fichiers de ressources en dehors de JAR
Comment exécuter uniquement des fichiers spécifiques avec le test de rake de gem
Comment obtenir des valeurs en temps réel avec TextWatcher (Android)
Comment démarrer avec JDBC en utilisant PostgresSQL sur MacOS
Comment utiliser HttpClient de Java (Get)
Comment obtenir des paramètres dans Spark
Comment utiliser mssql-tools avec Alpine
Comment décompiler un fichier de classe Java
Mémo à obtenir avec Struts2 + Ajax
Comment démarrer Camunda avec Docker
Comment obtenir la valeur de boolean avec jQuery sous forme simple de rails
Comment installer Adopt OpenJDK sur Debian, Ubuntu avec apt (-get)
Comment recadrer une image avec libGDX
Comment ajuster TextPosition avec l'extension de clavier iOS
Comment utiliser binding.pry pour afficher le fichier
Comment compiler Java avec VsCode & Ant
[Java] Résumez comment comparer avec la méthode equals
[Android] Comment gérer les thèmes sombres
Comment désactiver le regroupement d'erreurs
J'ai essayé de démarrer avec Web Assembly
Comment changer d'images miniatures avec JavaScript
[Java] Comment sortir et écrire des fichiers!
Comment faire un contrôle basé sur l'API avec cancancan
Essayez d'implémenter une fonction de connexion avec Spring-Boot
[Java] Comment obtenir le répertoire actuel
Comment utiliser les fichiers args:, environment:, env_file: et .env avec la commande docker-compose
Comment mettre à jour les modèles associés avec accepte_nested_attributes_for
[Java] [ibatis] Comment obtenir des enregistrements de relation 1 à N avec List <Map <>>
[Rails] Comment obtenir les informations sur l'utilisateur actuellement connecté avec devise
Comment définir JAVA_HOME avec l'appassembler-maven-plugin de Maven
Comment implémenter TextInputLayout avec la fonction de validation
Comment obtenir la date avec Java
Comment gérer les erreurs de connexion avec l'appareil
Comment supprimer des données avec une clé externe
Comment tester l'étendue privée avec JUnit
Comment surveiller nginx avec docker-compose avec datadog
Comment gérer les actifs de précompilation a échoué.
[SpringBoot] Comment écrire un test de contrôleur
Comment réaliser le téléchargement de fichiers avec Feign
Comment exécuter Blazor (C #) avec Docker
Comment créer un environnement Rails 6 avec Docker
Comment faire en sorte que la chaîne de requête émette réellement lors de l'utilisation de PreparedStatement dans JDBC
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift