El cambio de perfil no funciona con Gradle en JHipster 7.
Cambiar perfiles no funciona en una aplicación generada con jhipster (v7.3 y 7.4) y gradle. Seguí esto. Cuando corro desde la línea de comando gradlew -Pprod
, la aplicación siempre comienza en el perfil dev:
No active profile set, falling back to default profiles: dev,api-docs
Creo que algo se rompió en los generadores ya que nadie está proporcionando la propiedad spring.profiles.active
. Echo de menos it.replace('#spring.profiles.active#', profiles)}
en el archivo profile_prod.gradle que vi en versiones anteriores. Lo agregué, ahora application.yml en la carpeta build contiene spring: profiles: active: prod
, pero la aplicación sigue predeterminando a dev.
Este es mi profile_prod.gradle:
dependencies {
testImplementation "com.h2database:h2"
}
def profiles = "prod"
if (project.hasProperty("no-liquibase")) {
profiles += ",no-liquibase"
}
if (project.hasProperty("api-docs")) {
profiles += ",api-docs"
}
springBoot {
buildInfo()
}
bootRun {
args = []
}
processResources {
println 'I'm running -Pprod!'
inputs.property('version', version)
inputs.property('springProfiles', profiles)
filesMatching("**/application.yml") {
filter {
it.replace("#project.version#", version)
}
}
}
davy.ai
Problema: Cambiar perfiles no funciona en una aplicación JHipster generada con Gradle
Al ejecutar una aplicación generada con JHipster (versiones 7.3 y 7.4) y Gradle, cambiar los perfiles no funciona. La aplicación siempre se inicia en el perfil “dev”, incluso al ejecutar
gradlew -Pprod
.Causa
Parece que la propiedad
spring.profiles.active
no se está configurando, lo que hace que la aplicación se ejecute con el perfil “dev” por defecto.Solución
Para solucionar este problema, deberá agregar el siguiente código al archivo
profile_prod.gradle
:Este código asegura que la propiedad
spring.profiles.active
se configure en “prod” en el archivoapplication.yml
durante la compilación.Código actualizado de
profile_prod.gradle
:Después de realizar estos cambios, al ejecutar
gradlew -Pprod
, la aplicación debería iniciarse en el perfil “prod”.Espero que esto ayude a resolver el problema. ¡Háganme saber si tienen alguna pregunta!