perfiles activeprofiles java spring spring-boot

java - activeprofiles - spring profile include



ConfiguraciĆ³n del perfil activo predeterminado en Spring-boot (5)

Quiero que mi perfil activo predeterminado sea de production si no está configurado -Dspring.profiles.active .

Intenté lo siguiente en mi application.properties pero no funcionó:

spring.profiles.default=production

Spring-boot version = 1.3.5.RELEASE


Lo hago de esta manera

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

en el principio de la main(...)


Lo que está haciendo aquí es configurar el perfil predeterminado predeterminado (el perfil que se usa en cualquier bean si no especifica la anotación @Profile ) para que sea de production .

Lo que realmente necesita hacer es configurar el perfil activo predeterminado, que se realiza de la siguiente manera:

spring.profiles.active=production


Pon esto en la App.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"); } ... }

Así es como se hace en JHipster.


Si estás usando maven, yo haría algo como esto:

Siendo la producción tu perfil por defecto:

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

Y como ejemplo de otros perfiles:

<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>

En tu application.properties tendrás que configurar:

spring.profiles.active=@activeProfile@

Esto me funciona cada vez, espero que resuelva tu problema.


añadir --spring.profiles.active=production

Ejemplo:

java -jar file.jar --spring.profiles.active=production