스프링 부트 application.properties의 Maven 속성 사용
pom.xml에서 application.properties로 속성을 로드하려고 합니다.dev와 prod라는2개의 프로파일을 생성하여 다른 데이터베이스 URL을 사용합니다.Jenkins를 CI로 사용하고 있으며, 모든 애플리케이션(주로 부팅 프로젝트 없이 봄 MVC)에서 maven 프로파일을 사용하여 Tomcat에 배포하고 있습니다.maven 속성을 사용하여 이 작업을 수행할 수 있는 가능성이 있습니까?저도 그런 걸 해봤어요.spring.datasource.url=${jdbc.url}
이 작업을 수행하기 전에 배포 가능한 패키지에서 속성 파일을 외부화하는 것을 고려해 보십시오.이렇게 하면 모든 환경에 동일한 컴파일을 배포할 수 있습니다.그러면 젠킨스가 실제로 불필요한 일을 덜 수 있습니다.베스트 프랙티스는 어플리케이션을 한 번만 빌드하는 것입니다만, 납득할 수 없는 경우는, 다음의 순서에 따릅니다.
pom.xml에서 속성의 적절한 값을 가진 프로파일을 정의합니다.
<profile> <id>dev</id> <properties> <jdbc.url>your_dev_URL</jdbc.url> </properties> </profile>
application.properties 파일이 포함된 디렉토리를 필터링하도록 Maven Resources Plugin을 설정합니다.
<build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> ... </build>
Spring Boot 1.3 이상을 사용하는 경우 Maven Resources Plugin에 의해 필터링된 토큰과 Spring Boot 플레이스 홀더 간의 경합을 피하기 위해 필터링된 값에 다른 구문을 사용해야 하는 솔루션이 프레임워크에 도입되었습니다.
그 대신
${property.key}
를 사용해야 합니다.@property.key@
이 경우 application.properties에 다음 샘플이 포함되어 있어야 합니다.spring.datasource.url=@jdbc.url@
또한 다양한 메이븐 프로파일에 대한 스프링 속성 파일 분리에 대한 게시물을 확인할 수 있습니다.그러면 pom.xml의 값이 외부로 출력됩니다.
Daniel Olszewski와 더불어 yml 파일에서 다음과 같은 오류가 발생했습니다. ( 들여쓰기에 @를 사용하지 마십시오.)
그래서 작은 따옴표를 붙여서 고쳤어요.누군가 도움이 될 거예요.
spring:
datasource:
url: '@jdbc.url@'
물론 있죠.application.properties 파일에 Maven Filtering을 사용하면 Maven이 프로필 고유의 값을 파일에 기록합니다.
단, Maven 프로파일은 어플리케이션 패키지/빌드 시에 동작하지만 Spring Boot 프로파일은 런타임에 동작한다는 것을 이해해야 합니다.즉, Maven 프로파일을 사용하면 프로파일 고유의 불변 빌드를 얻을 수 있습니다.또한 Spring Boot 프로파일을 사용하면 실행 전 또는 실행 중에도 매번 애플리케이션 구성을 변경할 수 있습니다.
다음 항목도 참조하십시오.
언급URL : https://stackoverflow.com/questions/36703499/using-maven-properties-in-application-properties-in-spring-boot
'programing' 카테고리의 다른 글
Woocommerce 어레이에서 제품 태그를 가져옵니다. (0) | 2023.03.20 |
---|---|
c++ 언어 및 JSON 파서를 사용하여 Restful Web Services를 작성하는 방법 (0) | 2023.03.20 |
AngularJs 명령어 확장 (0) | 2023.03.20 |
각도에서의 후행 슬래시 처리UI 라우터 (0) | 2023.03.10 |
javascript에서 localstorage setItem을 비동기식으로 실행하는 솔루션이 있습니까? (0) | 2023.03.10 |