Comment puis-je activer un Ressort de Démarrage profil lors de l'exécution de l'Ide?
J'ai 5 environnements:
- local (my development machine)
- dev
- qc
- uat
- live
- staging
Je veux les différentes propriétés de l'application à utiliser pour chaque environnement, j'ai donc les propriétés suivantes des fichiers de chaque qui ont une autre URL de la source de données:
- application.properties (containing common properties)
- application-local.properties
- application-dev.properties
- application-qc.properties
- application-uat.properties
- application-live.properties
Je suis à l'aide de l'Ide et de l'exécution de mon application en utilisant bootRun dans le plugin Gradle sur ma machine locale. Je vais être en utilisant le déploiement de l'application même de la guerre de fichiers sur tous les autres environnements de lancer Tomcat.
J'ai essayé d'ajouter:
--printemps.les profils.active=local
à la configuration d'exécution en vertu des paramètres de script.
J'ai essayé d'ajouter
-Dspring.les profils.active=local
à la configuration d'exécution en vertu de la VM options.
Ni de travail. Je reçois toujours le message d'information sur le démarrage de dire: Pas de profil actif définir, pour retomber à des profils par défaut: par défaut
Si je lance mon application à partir de la ligne de commande de windows à l'aide de
gradle bootRun
mais j'ai d'abord définir la variable d'environnement
set SPRING_PROFILES_ACTIVE=local
Ensuite, tout fonctionne.
Donc ma question est, comment puis-je activer ma source locale de démarrage profil lors de l'exécution de bootRun de l'Ide ?
- Pourquoi êtes-vous en cours d'exécution de l'application via gradle là? Ne serait-il pas 10 fois plus pratique à utiliser la configuration d'exécution? Il y a un domaine où vous pouvez définir les profils pour permettre...
- Je suis l'aide de la configuration d'exécution dans IntelliJ, comme expliqué ci-dessus. Il ne fonctionne pas.
- Non, vous n'êtes pas. Ce dont je parle est le "Printemps de Démarrage configuration d'exécution" Exécuter -> Modifier la configuration > Nouveau > le Printemps de Démarrage.
- Aah oui, j'ai déménagé loin de Printemps de Démarrage exécuter la configuration que j'ai besoin d'élargir le projet.propriétés en application.propriétés dans mon construire.gradle et si j'ai utilisé le Printemps de Démarrage configuration d'exécution, il n'a pas l'air de fonctionner. Je vais regarder dans la résolution de ce problème et puis peut-être que je peux simplement utiliser le profil actif sur le terrain comme vous l'avez suggéré
- Utiliser le Printemps de configuration de Démarrage semble de plus en plus de difficulté que sa valeur. Le "Faire" simplement les copies à travers les ressources et n'a pas de filtre/modifier comme par par le script de construction. Puis, en lui disant d'exécuter la "construction" de gradle au lieu de "faire" simplement à cause de la course pour les congeler. Si j'utilise bootRun au lieu de cela, avec mon environnement de saisie que par-dessous de la réponse, tout fonctionne très bien.
- Fait, bien que quand j'ai d'abord essayé qu'en 2016 comme mentionné dans mon post original, il ne fonctionnait pas. Quelle que soit la cause, il doit avoir été corrigés depuis.
Vous devez vous connecter pour publier un commentaire.
J'ai ajouté
-Dspring.profiles.active=test
de VM Options, puis re-couru à cette configuration. Il a parfaitement fonctionné.Ce qui peut être défini par
Run | Edit Configurations...
Configuration
ongletEnvironment
section pour afficherVM options
Si vous avez réellement faire usage de printemps de démarrage exécuter les configurations (actuellement uniquement pris en charge dans l'Édition Ultimate) il est facile de pré-configurer les profils dans "Profils Actifs" réglage de l'.
args
dans votreApplication.main()
par exempleSpringApplication.run( Application.class, args );
J'ai fini par adjonction, à mon construire.gradle:
Alors maintenant, lors de l'exécution de bootRun de l'Ide, la valeur par défaut est le "local" profil.
Sur nos autres environnements, nous allons simplement mettre le "SPRING_PROFILES_ACTIVE' variable d'environnement dans Tomcat.
Je l'ai obtenu à partir d'un commentaire trouvé ici: https://github.com/spring-projects/spring-boot/pull/592
Une cause probable pourrait être que vous ne passez pas la ligne de commande paramètres dans les applications de la méthode principale. J'ai fait la même erreur il y a quelques semaines.
Application
classe donc fait à la main à partir de la mémoire. Raté leargs
étape, et ainsi de les "Profils Actifs" dans la boîte de configuration d'exécution n'a pas de travail, j'ai dû passer manuellement en-Dspring.profiles.active
dans la VM options de la boîte.J'utilise l'Ide Community Edition.
Aller à la "Run/Debug Configurations" > Runner tab > variables d'Environnement > cliquez sur le bouton "...". Ajouter:
SPRING_PROFILES_ACTIVE = local
printemps.les profils.active
Essayez d'ajouter cette commande dans votre construction.gradle
Donc pour l'exécution de configurer cette forme:
Printemps Boot semble a changé la façon de lire la VM options à mesure qu'il évolue. Voici quelques moyens pour essayer lorsque vous lancez une application à l'Ide, et souhaitez active un certain profil:
1. Changement de VM options
Ouvrir "Modifier la configuration" dans "Exécuter", et dans "VM options", ajouter:
-Dspring.profiles.active=local
Il fonctionne réellement avec un projet de mine avec
Spring Boot v2.0.3.RELEASE
etSpring v5.0.7.RELEASE
, mais pas avec un autre projet avecSpring Boot v2.1.1.RELEASE
etSpring v5.1.3.RELEASE
.Aussi, lors de l'exécution avec Maven ou un BOCAL, les personnes mentionnées à ceci:
ou
(Voir ici: comment utiliser le Printemps de Démarrage des profils)
2. En passant de la JVM arguments
Il est dit quelque part, que le Printemps change la façon de lancer le processus d'applications si vous spécifier certaines options JVM; il les fourches d'un autre processus et de ne pas passer à l'arg elle a reçu si cela ne fonctionne pas. Le seul moyen de passer des arguments à elle, est:
Encore une fois, c'est pour le Maven.
https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html
3. Paramètre (application) env var
Ce qui fonctionne pour moi pour le deuxième projet consiste à fixer la variable d'environnement, comme mentionné dans certains réponse ci-dessus: "Modifier la configuration" - "variable d'Environnement", et:
SPRING_PROFILES_ACTIVE
.~/.profile
ou similaire, vous avez à utiliserSPRING_PROFILES_ACTIVE
--spring.profiles.active
probablement ne fonctionne que comme un argument sur la ligne de commande.De l'essayer. Modifier votre build.gradle fichier comme suit.
Pour Printemps De Démarrage 2.1.0 et plus vous pouvez utiliser
mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar
spring-boot:run -Dspring-boot.run.profiles=local
Ensemble
-Dspring.profiles.active=local
en vertu des arguments du programme.