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
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
    	                je le fais de cette façon
    System.setProperty("spring.profiles.default", "dev");
dans le début de l' main(...)
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.
ajouter --spring.profiles.active=production
Exemple:
java -jar file.jar --spring.profiles.active=production
    	                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