Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Duda] Error con el archivo application-prod.yml

La consola me muestra

[main] ERROR org.springframework.boot.SpringApplication -- Application run failed
org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here
 in 'reader', line 3, column 15:
        datasource:

al momento de ejecutar

java -DDATASOURCE_URL=jdbc:mysql://localhost/vollmed_api -DDATASOURCE_USERNAME=root -DDATASOURCE_PASSWORD=scwzdqxea1A? -jar target/api-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

tengo esto escrito en el archivo:

spring:
  profile.active: prod
  datasource:
    url: ${DATASOURCE_URL}
    username: ${DATASOURCE_USERNAME}
    password: ${DATASOURCE_PASSWORD}
  jpa:
    show-sql: false
    properties:
      hibernate:
        format_sql: false

server:
  error:
    include-stacktrace: never

api:
  security:
    secret: ${JWT_SECRET:123456}

De antemano gracias por su ayuda :)

3 respuestas
solución!

Hola Jose,

Parece que el problema está en la estructura de tu archivo YAML. Los archivos YAML son muy sensibles a la indentación y a los espacios. Según el error que estás obteniendo, parece que hay un problema en la línea 3, columna 15, causado por un problema de indentación. En YAML, cada nivel de anidamiento debe estar indentado con dos espacios. En tu caso, parece que profile.active: prod está en el mismo nivel que spring:. Debería estar indentado para estar bajo spring:.

Aquí está tu archivo con la indentación corregida:

spring:
  profiles:
    active: prod
  datasource:
    url: ${DATASOURCE_URL}
    username: ${DATASOURCE_USERNAME}
    password: ${DATASOURCE_PASSWORD}

Además, el nombre correcto de la propiedad es profiles (en plural), no profile.

Prueba con estos cambios y ve si resuelven tu problema. Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios

Como sería el archivo application-prod.properties? Muchas gracias.

Hola Alejandra, esta sería la versión para el archivo application-prod.properties

spring.profile.active=prod
spring.datasource.url=${DATASOURCE_URL}
spring.datasource.username=${DATASOURCE_USERNAME}
spring.datasource.password=${DATASOURCE_PASSWORD}
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.format_sql=false
server.error.include-stacktrace=never
api.security.secret=${JWT_SECRET:123456}

Espero que te sirva, ya estamos en la recta final!