Solución:
yo añadí -Dspring.profiles.active=test
a VM Options y luego volvió a ejecutar esa configuración. Funcionó perfectamente.
Esto se puede configurar mediante
- Elegir
Run | Edit Configurations...
- Ve a la
Configuration
pestaña - Ampliar la
Environment
sección para revelarVM options
Si realmente utiliza configuraciones de ejecución de arranque de primavera (actualmente solo se admite en Ultimate Edition), es fácil preconfigurar los perfiles en la configuración de “Perfiles activos”.
Spring Boot parece haber cambiado la forma de leer las opciones de VM a medida que evoluciona. Aquí hay una forma de probar cuando inicia una aplicación en Intellij y desea activar algún perfil:
1. Cambiar las opciones de la máquina virtual
Abra “Editar configuración” en “Ejecutar” y, en “Opciones de VM”, agregue: -Dspring.profiles.active=local
De hecho, funciona con un proyecto mío con Spring Boot v2.0.3.RELEASE
y Spring v5.0.7.RELEASE
, pero no con otro proyecto con Spring Boot v2.1.1.RELEASE
y Spring v5.1.3.RELEASE
.
Además, cuando se ejecuta con Maven o JAR, la gente menciona esto:
mvn spring-boot:run -Drun.profiles=dev
o
java -jar -Dspring.profiles.active=dev XXX.jar
(Vea aquí: cómo usar los perfiles de Spring Boot)
2. Pasar argumentos de JVM
Se menciona en alguna parte, que Spring cambia la forma de iniciar el proceso de aplicaciones si especifica algunas opciones de JVM; bifurca otro proceso y no pasará el argumento que recibió, por lo que esto no funciona. La única forma de pasarle argumentos es:
mvn spring-boot:run -Dspring-boot.run.jvmArguments="..."
Nuevamente, esto es para Maven. https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html
3. Configuración (aplicación) env var
Lo que me funciona para el segundo proyecto fue configurar la variable de entorno, como se menciona en alguna respuesta anterior: “Editar configuración” – “Variable de entorno”, y:
SPRING_PROFILES_ACTIVE=local