Spring Profile 변수 설정
나는이 개 봄 프로파일을 가지고 dev
와 test
. 서버 환경에서 활성 프로필을 설정하고 싶지만, 애플리케이션을 배포 할 때마다 서버의 프로필을 기반으로 프로필이로드되도록 코드에 설정하고 싶지 않습니다. 어떻게 할 수 있습니까?
다음과 같이 서버에서 시스템 속성을 간단히 설정할 수 있습니다.
-Dspring.profiles.active=test
편집 : 이클립스의 tomcat에 이것을 추가하려면 Run -> Run Configurations
Tomcat 실행 구성을 선택 하고 선택하십시오. Arguments
탭을 클릭하고 끝에 -Dspring.profiles.active = test를 추가 VM arguments
합니다. 또 다른 방법은 Servers
프로젝트 의 catalina.properties에 속성을 추가하는 것이지만 추가하는 경우 -D를 생략합니다.
편집 : Spring Boot 와 함께 사용 하려면 추가 선택이 있습니다. 속성 앞에 대시 두 개를 추가하면 속성을 프로그램 인수로 전달할 수 있습니다.
다음은 Spring Boot 실행 가능 jar 파일을 사용하는 두 가지 예입니다.
시스템 속성
[user@host ~]$ java -jar -Dspring.profiles.active=test myproject.jar
프로그램 인수
[user@host ~]$ java -jar myproject.jar --spring.profiles.active=test
이를 수행하는 방법은 최소한 두 가지입니다.
web.xml에서 컨텍스트 매개 변수 정의 – "모든 환경에 대해 하나의 패키지"명령문을 중단합니다. 나는 그것을 추천하지 않는다
시스템 속성 정의
-Dspring.profiles.active=your-active-profile
시스템 속성을 정의하는 것이 훨씬 더 나은 접근 방식이라고 생각합니다. 그렇다면 Tomcat의 시스템 속성을 정의하는 방법은 무엇입니까? 인터넷에서 "modify catalina.sh"와 같은 많은 조언을 찾을 수 있습니다. 그런 작업을 수행하기위한 구성 파일을 찾을 수 없기 때문입니다. catalina.sh를 수정하는 것은 관리 할 수없는 더러운 해결책입니다. 그렇게하는 더 좋은 방법이 있습니다.
내용이있는 Tomcat의 bin 디렉토리에 setenv.sh 파일을 작성하십시오.
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"
catalina.sh 시작 또는 실행 중에 자동으로로드됩니다.
다음은 위의 솔루션을 설명 하는 블로그 입니다. 댓글 섹션은 더 자세한 내용을 이야기하므로 흥미 롭습니다.
Eclipse의 -Dspring.profiles.active
경우 VM 인수에 변수를 설정 하면 트릭을 수행 할 수 있습니다.
이동
프로젝트-> 다음으로 실행-> 구성 실행-> 인수를 마우스 오른쪽 단추로 클릭하십시오.
그리고 VM 인수-Dspring.profiles.active=dev
에 추가하십시오 .
시스템 환경 변수로 :
윈도우 : - : 시작> 유형 "ENVI"선택 환경 변수를 새로 추가 Name: spring_profiles_active Value: dev
(또는 당신은 무엇이든)
Linux : PATH 아래의 / etc / environment에 다음 줄을 추가합니다.
spring_profiles_active=prod
(또는 어떤 프로필이든)
다음도 export spring_profiles_active=prod
그래서 당신은 이제 런타임에 있습니다.
Tomcat 8의 경우 :
Linux :
setenv.sh를 만들고 다음과 같이 업데이트합니다.
내보내기 SPRING_PROFILES_ACTIVE = dev
Windows :
setenv.bat를 만들고 다음으로 업데이트합니다.
SPRING_PROFILES_ACTIVE = dev 설정
참고 URL : https://stackoverflow.com/questions/15814497/setting-spring-profile-variable
'developer tip' 카테고리의 다른 글
C : printf a float 값 (0) | 2020.12.07 |
---|---|
한 SQL Server에서 다른 SQL Server로 테이블 데이터 내보내기 (0) | 2020.12.07 |
ElasticSearch에서 모든 _id를 검색하는 효율적인 방법 (0) | 2020.12.07 |
Android의 WindowManager는 무엇입니까? (0) | 2020.12.07 |
UIToolbar의 높이를 변경하는 방법이 있습니까? (0) | 2020.12.06 |