如何将属性从Gradle传递给Spring Boot

时间:2016-11-04 10:37:56

标签: spring gradle spring-boot

@SpringBootApplication
@PropertySource({"classpath:${properties.file}"})
public class AppConfiguration {
}

我需要传递给spring“properties.file”属性,这个属性是基于任务图在gradle构建中动态更改的。

1 个答案:

答案 0 :(得分:1)

ext {
    dynamicResources = "$buildDir/dynamicResources"
    prop1 = 'value1'
    prop2 = 'value2'
}
dependencies {
    runtime files(dynamicResources)
}
task createDynamicResources {
    inputs.property 'prop1', prop1
    inputs.property 'prop2', prop2
    outputs.dir dynamicResources
    doLast {
        mkdir dynamicResources
        file("$dynamicResources/foo.properties").text = """
prop1=${prop1} 
prop2=${prop2}             
        """
    }
}
bootRun.dependsOn createDynamicResources 

现在foo.properties将在bootRun的运行时类路径

请参阅here了解类似的模式

相关问题