programing

스프링 프로파일 변수 설정

newsource 2023. 3. 16. 21:30

스프링 프로파일 변수 설정

프로파일은입니다. 2가지입니다.dev ★★★★★★★★★★★★★★★★★」test서버 환경에서 액티브프로파일을 설정합니다.어플리케이션을 전개하는 장소에 관계없이 서버의 프로파일에 근거해 프로파일이 로드되도록, 코드로 설정하고 싶지 않습니다.가가어 떻떻 ?럴? ???

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

-Dspring.profiles.active=test

편집: 이 항목을 일식 시 Tomcat에 추가하려면Run -> Run ConfigurationsTomcat "설정" "설정" 하다를 합니다.Arguments Dspring를 Dspring.profiles.active=test의 합니다.VM arguments은 catalina.properties의 Servers-D를 -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의 시스템 속성을 정의하려면 어떻게 해야 할까요?인터넷에서는 "http://catalina.sh"과 같은 많은 조언을 찾을 수 있었습니다.왜냐하면 이러한 작업을 하기 위한 설정 파일은 찾을 수 없기 때문입니다.카탈리나를 수정하고 있다.sh는 더러운 유지보수가 불가능한 솔루션입니다.그것을 하는 더 좋은 방법이 있다.

다음 내용으로 Tomcat의 bin 디렉토리에 setenv.sh 파일을 생성하기만 하면 됩니다.

JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"

카탈리나 주행 중에 자동으로 로딩됩니다.sh start 또는 run.

의 솔루션에 대해 설명하는 블로그입니다.

Eclipse의 경우 VM 인수에 변수를 설정하면 문제가 없습니다.

에 가다

[ Project ]우클릭 --> [ Run as ]- [ Run Configurations ]- [ Arguments ]를 선택합니다.

VM 인수에 를 추가합니다.

시스템 환경 변수:

Windows: 시작 -> "envi" 라고 입력합니다.환경변수를 선택하고 새로운 변수를 추가합니다. Name: spring_profiles_active Value: dev 당신의

Linux: PATH 아래의 /etc/환경에 다음 행을 추가합니다.

spring_profiles_active=prod(또는 프로파일이 무엇이든)

그리고 또export spring_profiles_active=prod이제 런타임에 있습니다.

에서<tomcat-home>\conf\catalina.properties파일, 다음 행을 추가합니다.

spring.profiles.active=dev

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