나는 다중 모듈 응용 프로그램을 가지고 있으며 /src/main/resources
폴더의 모든 하위 프로젝트 중 application.properties
에서 사용할 수 있도록 gradle.properties
에 정의한 속성을 추가하고 싶습니다.application.properties 리소스에 Gradle 속성을 추가하십시오.
내가 밟은 것은 subprojects
섹션에 processResources
플러그인을 추가하는 것입니다.
subprojects {
processResources {
expand(project.properties)
}
// ...
, 나는 gradle.properties
파일에 다음과 같은 속성을 정의했습니다 :
appVersion='0.0.1-SNAPSHOT'
지금, 나는 그것이 application.properties
존재가되고 싶어요, 그래서 here을 언급 한 바와 같이 나는 자리를 추가했습니다 . 내가 Spring
사용하여 사용하는 예를 들어 싶습니다 나중에
app.version=${appVersion}
: 그래서, 내 application.properties
는 다음과 같은 방법을 보이는 프로젝트가 건설 된 후
@Value("${app.version}")
그러나, 속성은 대체되지 않습니다, 그래서 application.properties
에 버전 값이없고 여전히 ${appVersion}
자리 표시 자입니다. 어떻게해야할까요?
제안을 주셔서 감사합니다. 아마도 내가 권고 한대로 자원을 분리 할 것입니다. 그러나 문제는 내가 응용 프로그램을 실행하는 방식이었고 이미 내 자신의 질문에 대답했습니다. –
전체'FileCollection'에'expand()'를 사용하는 것은 나쁜 생각입니다. 느려지고 바이너리 (예 : 이미지)가 손상 될 수도 있습니다. –
감사합니다. 나는 그것을 application.properties 파일에서만 변경합니다. –