우리는 멀티 프로젝트 환경 구성을 수행 할 때, 등등 SpringBoot 자신의 애플리케이션 dev.yml, Maven의 프로필과 같은 우리가 선택할 수있는 많은 방법이있다. 여기에 제시된 다중 환경 구성 프로파일을 활용하는 방법이다.
첫째, 당신은 pom.xml 파일에 프로파일 구성을 추가해야합니다 :
<profiles>
<!-- 开发环境 默认激活-->
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>publish</id>
<properties>
<env>publish</env>
</properties>
</profile>
<!-- 本地环境 -->
<profile>
<id>local</id>
<properties>
<env>local</env>
</properties>
<!--默认启用-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
정보가 다른 환경 활성화 환경 요구로 전환 프로파일 파일, 즉 디바이스 게시 로컬 환경 <ENV> 태그는 복수의 내부에 배치. 기본 프로필이 활성화되어 <ActiveByDefault이> true로 설정되어 있음을 나타냅니다.
다음으로, 우리는이 파라미터 값은 특성 파일 필터 탭으로부터 유도하면서 그 마크를 대체하는 파라미터 값을 사용 나타내는 필터링 태그의 리소스가 true로 설정되고 싶다. 다음은 원래의 설명입니다 :
Whether resources are filtered to replace tokens with parameterised values or not.
The values are taken from the <code>properties</code> element and from the properties in the files listed
in the <code>filters</code> element.
<build>
<!-- 指定使用filter -->
<filters>
<filter>src/main/resources/profiles/${env}/env.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<excludes>
<exclude>profiles/**</exclude>
</excludes>
<filtering>true</filtering>
</resource>
</resources>
</build>
필터는, 환경의 다른 값으로 구성된 파일, 다른 속성을 판독하기위한 환경 변수의 값을 나타내는 ENV 특성 프로파일에서 참조 :
앞에서 말하는 것은 진정한 </ 필터링> 매개 변수의 값이 마크를 대체 할 수 있습니다 나타냅니다, 그것은 무엇을 의미 하는가 <을 필터링>? 방법 application.yml에서 살펴 보자는 표현합니까?
server:
port: 8080
tomcat:
max-threads: 800
uri-encoding: UTF-8
spring:
redis:
host: ${spring.redis.host}
timeout: ${spring.redis.timeout}
pool:
max-idle: ${spring.redis.pool.max-idle}
max-active: ${spring.redis.pool.max-active}
password: ${spring.redis.password}
database: ${spring.redis.database}
따라서, 전체 프로세스에 의해 수행되어야한다 : - $와 같은 {spring.redis.host} 받는다는 컴파일 명령 실행 <리소스> <필터> 다음 속성 값의 특성 및 자원 SRC / 아래를 교체 / 메인 마커를 읽어 이.
마지막으로, 단 하나 개의 질문, 어떻게 환경을 전환? 당신이 도구 아이디어를 개발하는 경우, 바로 옆 창문으로 전환 :
명령 줄 컴파일러를 사용, 플러스 경우 -P 선택한 프로파일이 될 수있는 다음과 같습니다 :
clean -U package -P dev -DskipTests=true -f pom.xml