[SPRING] 스프링 부트에서 기본 활성 프로파일 설정하기
SPRING스프링 부트에서 기본 활성 프로파일 설정하기
-Dspring.profiles.active가 설정되지 않은 경우 기본 활성 프로필을 프로덕션으로 설정합니다.
나는 내 application.properties에서 다음을 시도했지만 작동하지 않았다 :
spring.profiles.default=production
스프링 부트 버전 = 1.3.5.RELEASE
해결법
-
==============================
1.여기에서하는 일은 프로덕션으로 기본 기본 프로파일 (@Profile 주석을 지정하지 않은 경우 모든 Bean에서 사용되는 프로파일)을 설정하는 것입니다.
여기에서하는 일은 프로덕션으로 기본 기본 프로파일 (@Profile 주석을 지정하지 않은 경우 모든 Bean에서 사용되는 프로파일)을 설정하는 것입니다.
실제로 수행해야 할 작업은 다음과 같이 기본 활성 프로파일을 설정하는 것입니다.
spring.profiles.active=production
-
==============================
2.나는 이렇게 해.
나는 이렇게 해.
System.setProperty("spring.profiles.default", "dev");
메인 (...)의 맨 처음에
-
==============================
3.--spring.profiles.active = production을 추가하십시오.
--spring.profiles.active = production을 추가하십시오.
예:
java -jar file.jar --spring.profiles.active=production
-
==============================
4.당신이 메이븐 (maven)을 사용한다면 다음과 같이 할 것이다 :
당신이 메이븐 (maven)을 사용한다면 다음과 같이 할 것이다 :
프로덕션을 기본 프로필로 설정 :
<properties> <activeProfile>production</activeProfile> </properties>
다른 프로필의 예 :
<profiles> <!--Your default profile... selected if none specified--> <profile> <id>production</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <activeProfile>production</activeProfile> </properties> </profile> <!--Profile 2--> <profile> <id>development</id> <properties> <activeProfile>development</activeProfile> </properties> </profile> <!--Profile 3--> <profile> <id>otherprofile</id> <properties> <activeProfile>otherprofile</activeProfile> </properties> </profile> <profiles>
application.properties에서 다음을 설정해야합니다.
spring.profiles.active=@activeProfile@
이 문제는 매번 저에게 효과적이며 문제가 해결되기를 바랍니다.
-
==============================
5.이것을 App.java에 넣으십시오.
이것을 App.java에 넣으십시오.
public static void main(String[] args) throws UnknownHostException { SpringApplication app = new SpringApplication(App.class); SimpleCommandLinePropertySource source = new SimpleCommandLinePropertySource(args); if (!source.containsProperty("spring.profiles.active") && !System.getenv().containsKey("SPRING_PROFILES_ACTIVE")) { app.setAdditionalProfiles("production"); } ... }
이것이 JHipster에서 이루어지는 방법입니다.
-
==============================
6.먼저, 아래의 해결책을 사용하여 스프링 부트가 항상 application.properties 파일을 읽는다는 것을 이해해야합니다. 따라서 다른 프로필 파일은 이전에 정의한 속성 만 보완하고 대체합니다.
먼저, 아래의 해결책을 사용하여 스프링 부트가 항상 application.properties 파일을 읽는다는 것을 이해해야합니다. 따라서 다른 프로필 파일은 이전에 정의한 속성 만 보완하고 대체합니다.
다음 파일 검토 :
application.properties application-qa.properties application-prod.properties
1) 매우 중요합니다. application.properties와이 파일 만 다음 행을 가져야합니다.
spring.profiles.active=@spring.profiles.active@
2) QA 및 PROD 구성 파일에서 원하는 것을 변경하여 환경의 차이점을 확인하십시오.
3) 명령 행에서 다음 옵션 중 하나를 사용하여 스프링 부트 응용 프로그램을 시작하십시오.
기본 application.properties 파일로 앱을 시작합니다.
mvn spring-boot:run
기본 application.properties 파일을로드하고 application-qa.properties 파일 다음에 기본 구성을 대체 및 / 또는 보완합니다.
mvn spring-boot:run -Dspring.profiles.active=qa
QA 대신 프로덕션 환경과 동일하지만 다음과 같습니다.
mvn spring-boot:run -Dspring.profiles.active=prod
-
==============================
7.현재 Maven + Spring Boot를 사용 중입니다. 우리의 솔루션은 다음과 같습니다.
현재 Maven + Spring Boot를 사용 중입니다. 우리의 솔루션은 다음과 같습니다.
application.properties
#spring.profiles.active= # comment_out or remove
securityConfig.java
@Value(${spring.profiles.active:[default_profile_name]}") private String ACTIVE_PROFILE_NAME;
신용은 MartinMlima에서 시작됩니다. 비슷한 대답이 여기에 제공됩니다 :
Spring에서 프로그래밍 방식으로 현재 활성 / 기본 환경 프로파일을 얻는 방법은 무엇입니까?
-
==============================
8.AWS LAMBDA에서 :
AWS LAMBDA에서 :
$ sam local의 경우 sam 템플릿 yml 파일에 다음 줄을 추가합니다.
Resources: FunctionName: Properties: Environment: Variables: SPRING_PROFILES_ACTIVE: local
그러나 AWS Console에서 : 람다 환경 변수에 다음을 추가하면됩니다.
KEY : JAVA_TOOL_OPTIONS 값 : -Dspring.profiles.active = dev
from https://stackoverflow.com/questions/37700352/setting-the-default-active-profile-in-spring-boot by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 배치의 다중 항목 작성기 (0) | 2019.02.02 |
---|---|
[SPRING] 스프링 프로토 타입 범위 - 사용 사례? (0) | 2019.02.02 |
[SPRING] Spring MVC 3 Validation - 기본 공급자를 찾을 수 없음 (0) | 2019.02.02 |
[SPRING] Spring webapp에서 JSP로 올바른 현재 URL을 얻는 방법 (0) | 2019.02.02 |
[SPRING] spring-boot - springMVC에 대한 디스패처 서블릿을 실제로 등록하는 코드는 무엇입니까? (0) | 2019.02.02 |