developer tip

Spring Profile 변수 설정

copycodes 2020. 12. 7. 08:23
반응형

Spring Profile 변수 설정


나는이 개 봄 프로파일을 가지고 devtest. 서버 환경에서 활성 프로필을 설정하고 싶지만, 애플리케이션을 배포 할 때마다 서버의 프로필을 기반으로 프로필이로드되도록 코드에 설정하고 싶지 않습니다. 어떻게 할 수 있습니까?


다음과 같이 서버에서 시스템 속성을 간단히 설정할 수 있습니다.

-Dspring.profiles.active=test

편집 : 이클립스의 tomcat에 이것을 추가하려면 Run -> Run ConfigurationsTomcat 실행 구성을 선택 하고 선택하십시오. 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

이를 수행하는 방법은 최소한 두 가지입니다.

  1. web.xml에서 컨텍스트 매개 변수 정의 – "모든 환경에 대해 하나의 패키지"명령문을 중단합니다. 나는 그것을 추천하지 않는다

  2. 시스템 속성 정의 -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

반응형