J'essaie d'utiliser des propriétés d'application, autres que application.properties, disons application_local.properties dans le répertoire des ressources.
Pour que je puisse avoir 2 fichiers de propriétés, un pour le local et l'autre le serveur.
Comme mentionné dans de nombreux blogs, je devrais utiliser la commande ci-dessous:
spring-boot:run -Dspring.config.location=/Users/myuser/work/MyProject/my-app/src/main/resources/application_local.properties
Mais cela ne fonctionne pas, il récupère toujours les valeurs de l'application .properties.
Que me manque-t-il, veuillez suggérer?
Merci
4 Réponses :
L'option -D enverra des paramètres à la machine virtuelle Java. Pour envoyer des paramètres à Spring boot, l'option de commande '-' doit être utilisée.
Exemple:
Supposons qu'une option nommée 'spring.profiles.active' soit définie dans le application.properties comme suit:
spring.profiles.active = dev
Cette option peut être écrasée à l'aide du paramètre de ligne de commande comme suit:
java -jar application.jar --spring.profiles.active=prod
Utilisez les profils Spring et choisissez lors de l'exécution, localement
-Dspring.profiles.active=local
Le fichier de propriétés devrait s'appeler application-local.properties
1- Suivez l'application de convention de dénomination- {profile} .properties
- application-local.properties
Profil à 2 ensembles
- -Dspring.profiles.active = local
En bref, vous pouvez utiliser ces deux liens:
-Dspring.profile.location prend le répertoire en entrée. Le but de cette propriété est de spécifier un emplacement de répertoire supplémentaire pour conserver vos fichiers de propriétés.
Vous utilisez le nom du fichier de propriétés dans votre commande.
Reportez-vous à la @ réponse détaillée sur un autre fil de discussion ici
À la place, vous pouvez utiliser comme suggéré par @mehardad
C'est clairement expliqué dans la documentation du printemps: docs.spring.io/spring-boot/docs/current/reference/html/…