通過自動構建應用程式(maven)設定正確的彈簧輪廓
通過為不同的環境或用例建立多個屬性檔案,有時很難手動將 active.profile
值更改為正確的值。但是有一種方法可以在使用 maven-profiles
構建應用程式時在 application.properties
檔案中設定 active.profile
。
假設我們的應用程式中有三個環境屬性檔案:
application-dev.properties
:
spring.profiles.active=dev
server.port=8081
application-test.properties
:
spring.profiles.active=test
server.port=8082
application-prod.properties
spring.profiles.active=prod
server.port=8083
這三個檔案的埠和活動配置檔名稱不同。
在主 application.properties
檔案中,我們使用 maven 變數設定彈簧配置檔案 :
application.properties
spring.profiles.active=@profileActive@
之後我們只需在我們的 tihuan 中新增 maven 配置檔案。我們將為所有三種環境設定配置檔案:
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>dev</build.profile.id>
<profileActive>dev</profileActive>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<build.profile.id>test</build.profile.id>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
你現在可以使用 maven 構建應用程式。如果你沒有設定任何 maven 配置檔案,它會構建預設配置檔案(在這個例子中它是 dev)。要指定一個,你必須使用 maven 關鍵字。在 maven 中設定配置檔案的關鍵字是 -P
,後面跟著配置檔案的名稱:mvn clean install -Ptest
。
現在,你還可以建立自定義構建並將其儲存在 IDE
中以加快構建速度。
例子:
mvn clean install -Ptest
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.3.RELEASE)
2017-06-06 11:24:44.885 INFO 6328 --- [ main] com.demo.SpringBlobApplicationTests : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 11:24:44.886 INFO 6328 --- [ main] com.demo.SpringApplicationTests : The following profiles are active: test
mvn clean install -Pprod
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.3.RELEASE)
2017-06-06 14:43:31.067 INFO 6932 --- [ main] com.demo.SpringBlobApplicationTests : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 14:43:31.069 INFO 6932 --- [ main] com.demo.SpringApplicationTests : The following profiles are active: prod