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