[SPRING] Spring 부트의 application.properties에서 Maven 속성 사용하기
SPRINGSpring 부트의 application.properties에서 Maven 속성 사용하기
pom.xml에서 application.properties로 속성을로드하려고합니다. 나는 두 개의 프로파일을 만들고 싶다 : dev와 다른 데이터베이스 URL을 사용하도록 자극해라. 나는 Jenkins를 CI로 사용하고 있는데, 모든 애플리케이션 (주로 Boot 프로젝트가없는 Spring MVC)은 Maven 프로파일을 사용하여 Tomcat에 배치한다. Maven 속성을 사용하여이 작업을 수행 할 수 있습니까? 나는 그런 것을 시도했다. spring.datasource.url = $ {jdbc.url}
해결법
-
==============================
1.이를 수행하기 전에 전개 가능한 패키지에서 특성 파일을 외부화하는 것을 고려하십시오. 이렇게하면 모든 환경에 동일한 컴파일을 배포 할 수 있습니다. Jenkins는 실제로 불필요한 작업을 저장합니다. 가장 좋은 방법은 응용 프로그램을 한 번만 빌드하는 것이지만, 확신이없는 경우 여기에 수행하는 방법이 있습니다.
이를 수행하기 전에 전개 가능한 패키지에서 특성 파일을 외부화하는 것을 고려하십시오. 이렇게하면 모든 환경에 동일한 컴파일을 배포 할 수 있습니다. Jenkins는 실제로 불필요한 작업을 저장합니다. 가장 좋은 방법은 응용 프로그램을 한 번만 빌드하는 것이지만, 확신이없는 경우 여기에 수행하는 방법이 있습니다.
다른 Maven 프로파일에 대한 Spring 등록 정보 파일을 분리하는 방법에 대한 게시물을 확인할 수도 있습니다. 그렇게하면 pom.xml에서 값을 외부화합니다.
-
==============================
2.물론 있습니다. application.properties 파일을 통해 Maven Filtering을 사용하면 Maven은 프로파일 특정 값을 파일에 씁니다.
물론 있습니다. application.properties 파일을 통해 Maven Filtering을 사용하면 Maven은 프로파일 특정 값을 파일에 씁니다.
그러나, Maven 프로파일은 애플리케이션 패키지 / 빌드시에 작동하지만, Spring 시동 프로파일은 런타임시에 동작한다는 것을 알아야한다. 즉, Maven 프로파일을 사용하면 프로필에 특정한 변경 가능하지 않은 빌드를 얻을 수 있으며, Spring Boot에서 빌드를 사용하면 실행하기 전이나 실행 중일 때마다 애플리케이션 구성을 변경할 수 있습니다.
참조 :
from https://stackoverflow.com/questions/36703499/using-maven-properties-in-application-properties-in-spring-boot by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Java로 메일 첨부 파일 다운로드 (0) | 2019.01.27 |
---|---|
[SPRING] 스프링 빈 설정 파일은 Maven WAR 모듈에서 어디로 이동합니까? (0) | 2019.01.27 |
[SPRING] 데이터베이스 테이블에 저장된 프로퍼티로 Spring 빈을 설정하는 법 (0) | 2019.01.27 |
[SPRING] 스프링 스레딩과 TaskExecutor를 사용하여 스레드가 완료되면 어떻게 알 수 있습니까? (0) | 2019.01.27 |
[SPRING] Spring과 Maven을 이용한 테스트 : applicationContext (0) | 2019.01.27 |