복붙노트

[SPRING] 어떻게 yaml 속성을 gradle에로드 할 것인가?

SPRING

어떻게 yaml 속성을 gradle에로드 할 것인가?

같은 속성을 가진 yml 파일이 있습니다.

spring:
  application:
    name: auth module
  profiles:
    active: prod

내 gradle.build 있음 :

jar {
    baseName = 'auth-module-dev'
    version =  '0.1.2'
}

auth-module- % profile_name % .jar와 같은 항아리를 만들고 싶습니다. 어떻게해야합니까?

해결법

  1. ==============================

    1.yaml 파일의 이름이 cfg.yaml이라고 가정합니다.

    yaml 파일의 이름이 cfg.yaml이라고 가정합니다.

    추가하는 것을 잊지 마세요 --- yaml의 시작 부분에

    ---
    spring:
      application:
        name: auth module
      profiles:
        active: prod
    

    build.gradle :

    defaultTasks "testMe"
    
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath group: 'org.yaml', name: 'snakeyaml', version: '1.19'
        }
    }
    
    def cfg = new org.yaml.snakeyaml.Yaml().load( new File("cfg.yaml").newInputStream() )
    
    task testMe( ){
        doLast {
            println "make "
            println "profile =  ${cfg.spring.profiles.active}"
            assert cfg.spring.profiles.active == "prod"
        }
    }
    
  2. from https://stackoverflow.com/questions/48318114/how-to-load-yml-propery-to-gradle by cc-by-sa and MIT license