Définition du profil actif par défaut dans Spring-boot

je veux que mon profil actif par défaut à production si -Dspring.profiles.active n'est pas définie.

j'ai essayé le suivant dans mon application.properties mais ça ne fonctionne pas:

spring.profiles.default=production

version de démarrage = 1.3.5.RELEASE

22
demandé sur Ali Dehghani 2016-06-08 13:47:33

5 réponses

Ce que vous faites ici est de définir la valeur par défaut par défaut profil (le profil qui est utilisé sur n'importe quel haricot si vous ne spécifiez pas le @Profile annotation)production.

Ce que vous devez faire est de définir la valeur par défaut active profil, qui est fait comme ceci:

spring.profiles.active=production
38
répondu PaulNUK 2016-06-08 13:35:04

je le fais de cette façon

    System.setProperty("spring.profiles.default", "dev");

dans le début de l' main(...)

6
répondu scorpp 2017-04-04 09:59:10

Si vous utilisez maven, je voudrais faire quelque chose comme ceci:

Étant production votre profil par défaut:

<properties>
    <activeProfile>production</activeProfile>
</properties>

et comme exemple d'autres profils:

<profiles>
    <!--Your default profile... selected if none specified-->
    <profile>
        <id>production</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <activeProfile>production</activeProfile>
        </properties>
    </profile>

    <!--Profile 2-->
    <profile>
        <id>development</id>
        <properties>
            <activeProfile>development</activeProfile>
        </properties>
    </profile>

    <!--Profile 3-->
    <profile>
        <id>otherprofile</id>
        <properties>
            <activeProfile>otherprofile</activeProfile>
        </properties>
    </profile>
<profiles>

dans votre demande.les propriétés que vous devrez mettre:

spring.profiles.active=@activeProfile@

cela fonctionne pour moi à chaque fois, j'espère que cela résout votre problème.

4
répondu alpez 2016-06-08 11:11:24

ajouter --spring.profiles.active=production

Exemple:

java -jar file.jar --spring.profiles.active=production
4
répondu Jaya Naresh 2017-05-22 08:41:59

mettez ceci dans L'application.java:

public static void main(String[] args) throws UnknownHostException {
    SpringApplication app = new SpringApplication(App.class);
    SimpleCommandLinePropertySource source = new SimpleCommandLinePropertySource(args);
    if (!source.containsProperty("spring.profiles.active") &&
            !System.getenv().containsKey("SPRING_PROFILES_ACTIVE")) {

        app.setAdditionalProfiles("production");
    }
    ...
}

C'est comment c'est fait dans JHipster

3
répondu Tom Van Rossom 2016-06-08 13:51:43