1
votes

Propriétés d'application personnalisées dans Spring Boot à l'aide d'IntelliJ

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


1 commentaires

C'est clairement expliqué dans la documentation du printemps: docs.spring.io/spring-boot/docs/current/reference/html/…


4 Réponses :


1
votes

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


0 commentaires

1
votes

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


0 commentaires

6
votes

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:

  1. Comment charger le fichier de propriétés basé sur Spring profils
  2. profils-printemps

0 commentaires

2
votes

-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


0 commentaires