application.dev.properties 파일을 로드하지 않는 Springboot
프로젝트에서 환경별 속성 파일을 사용하려고 합니다.예를 들어 개발에 실행하는 경우 application.dev.properties를 사용해야 하며, 프로덕션의 경우 application.prod.properties 등을 사용해야 합니다.
리소스 폴더에 아래 두 개의 파일이 있습니다.
- application.properties(생산용)
- application.dev.properties(개발용)
저는 각 파일에 아래와 같은 속성이 하나씩 있습니다.
제품용
server.database.host=192.168.1.1
개발용
server.database.host=192.168.12.125
그리고 아래와 같은 수업이 있습니다.
public class DataSource {
@Value(${server.database.host})
String host;
dev like에 대한 적절한 인수를 제공하더라도 위의 코드는 항상 prod 설정(application.properties) 파일을 가져옵니다.--spring.profiles.active=dev
아래는 dev properties 파일을 로드하기 위해 사용하는 명령입니다.
java -jar myjar.jar --spring.profiles.active=dev
또한 활성 프로파일이 dev이지만 항상 proddb에 연결된다는 것을 출력합니다.
몇 가지 문제를 발견했습니다.
@Value
속성 이름은 다음과 같아야 합니다.String
맘에 들다@Value("${server.database.host}")
- 프로파일 관련 속성 파일은 다음에 와야 합니다.
application-{profile}.properties
형식(예:application-dev.properties
- 프로파일 전달 시도:
-D
맘에 들다java -Dspring.profiles.active=dev -jar app.jar
실행 구성에서 vm 인수를 추가해 보십시오.
-Dspring.profiles.active=dev
다음과 같이 실행할 프로필을 지정해야 합니다.
mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar
설명서도 참조하십시오. https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-profiles.html
Eclipse 또는 STS에서 실행 중인 경우 다음 단계를 사용합니다.
프로젝트 -> 다른 이름으로 실행 -> 구성 실행을 마우스 오른쪽 버튼으로 클릭합니다.
새 창에서 왼쪽의 스프링 부팅 애플리케이션을 선택하고 오른쪽에 세부 정보를 추가한 후 프로파일 드롭다운에서 dev를 선택합니다.
apply를 클릭하고 실행합니다.
언급URL : https://stackoverflow.com/questions/38042035/springboot-not-loading-application-dev-properties-file
'programing' 카테고리의 다른 글
C#에서 세션 변수가 null이거나 비어 있는지 확인하는 가장 좋은 방법은 무엇입니까? (0) | 2023.07.15 |
---|---|
GitHub.com 에 대한 리포지토리 크기 제한 (0) | 2023.07.15 |
발송 시 특성이 작업(vuex)에 나타나지 않는 이유는 무엇입니까? (0) | 2023.07.15 |
Python에서 2차원 배열 회전 (0) | 2023.07.15 |
장고에서 동적 필드 룩업으로 쿼리 세트를 어떻게 필터링합니까? (0) | 2023.07.15 |