복붙노트

[SPRING] 스프링 프로파일 변수 설정하기

SPRING

스프링 프로파일 변수 설정하기

나는 dev와 test라는 두 개의 프로필을 가지고있다. 서버 환경에서 활성 프로파일을 설정하고 싶습니다. 코드에서 설정하고 싶지 않아서 어플리케이션을 배치 할 때마다 프로파일이 서버의 프로파일을 기반으로로드됩니다.  어떻게해야합니까?

해결법

  1. ==============================

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

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

    -Dspring.profiles.active=test
    

    편집 : Eclipse에서 Tomcat에 추가하려면 Run -> Run Configurations를 선택하고 Tomcat 실행 구성을 선택하십시오. 인수 탭을 클릭하고 VM 인수 끝에 -Dspring.profiles.active = test를 추가하십시오. 또 다른 방법은 서버 프로젝트의 catalina.properties에 속성을 추가하는 것이지만 추가하는 경우 -D

    편집 : 스프링 부트와 함께 사용하려면 추가 선택 사항이 있어야합니다. 속성에 두 개의 대시를 추가하면 속성을 프로그램 인수로 전달할 수 있습니다.

    다음은 Spring Boot 실행 jar 파일을 사용하는 두 가지 예제입니다.

    시스템 속성

    [user@host ~]$ java -jar -Dspring.profiles.active=test myproject.jar
    

    프로그램 인수

    [user@host ~]$ java -jar myproject.jar --spring.profiles.active=test
    
  2. ==============================

    2.적어도 두 가지 방법이 있습니다.

    적어도 두 가지 방법이 있습니다.

    나는 시스템 특성을 정의하는 것이 훨씬 더 나은 접근이라고 믿는다. 그렇다면 Tomcat의 시스템 속성을 정의하는 방법은 무엇입니까? 인터넷에서 "catalina.sh 수정"과 같은 조언을 많이 찾을 수 있습니다. 그런 일을하기위한 구성 파일을 찾을 수 없기 때문입니다. catalina.sh 수정은 더러운 유지 보수가 불가능한 해결책입니다. 이를 수행하는 더 좋은 방법이 있습니다.

    내용이있는 Tomcat의 bin 디렉토리에 setenv.sh 파일을 만듭니다.

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

    catalina.sh를 실행하거나 실행하는 동안 자동으로로드됩니다.

    위의 해결책을 설명하는 블로그가 있습니다. 댓글 섹션은 더 자세한 내용을 말하면서 흥미 롭습니다.

  3. ==============================

    3.as 시스템 환경 변수 :

    as 시스템 환경 변수 :

    Windows : 시작 -> "envi"를 입력하여 환경 변수를 선택하고 새로 추가 : 이름 : spring_profiles_active 가치 : dev (또는 당신 것이 무엇이든)

    Linux : PATH 아래의 / etc / environment에 다음 행을 추가하십시오.

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

    또한 spring_profiles_active = prod를 export하여 런타임에 가져와야한다.

  4. ==============================

    4.Tomcat 8 :

    Tomcat 8 :

    Linux :

    setenv.sh를 작성하고 다음과 같이 갱신하십시오.

    수출 SPRING_PROFILES_ACTIVE = dev

    Windows :

    setenv.bat를 작성하고 다음과 같이 갱신하십시오.

    SPRING_PROFILES_ACTIVE = dev을 설정하십시오.

  5. ==============================

    5.Eclipse의 경우 VM 인수에서 -Dspring.profiles.active 변수를 설정하면 트릭을 수행 할 수 있습니다.

    Eclipse의 경우 VM 인수에서 -Dspring.profiles.active 변수를 설정하면 트릭을 수행 할 수 있습니다.

    이동

    VM 인수에 -Dspring.profiles.active = dev을 추가하십시오.

  6. from https://stackoverflow.com/questions/15814497/setting-spring-profile-variable by cc-by-sa and MIT license