配置不同生產環境
本文適用于開發環境下需要打包專案至生產環境,避免開發環境的組態檔泄露,
設定maven
作用:1. 手動調節運行時的不同環境 2. 打包時可以不會有其它環境的檔案
注:每次換環境前(打包前)記得手動clean清楚,因為idea不會在換環境后自動清除另一個環境的檔案
在pom檔案中加
-
在依賴
前加 <!--分別設定開發,生產環境--> <profiles> <!-- 開發環境 --> <profile> <id>dev</id> <activation> <!--設定默認為dev環境--> <activeByDefault>true</activeByDefault> </activation> <properties> <environment>dev</environment> </properties> </profile> <!-- 生產環境 --> <profile> <id>prod</id> <activation> <!--不設定該環境為默認環境--> <activeByDefault>false</activeByDefault> </activation> <properties> <environment>prod</environment> </properties> </profile> </profiles> -
在
標簽中放該代碼 <resources> <!--排除組態檔--> <resource> <directory>src/main/resources</directory> <!--先排除所有的組態檔--> <excludes> <!--使用通配符,當然可以定義多個exclude標簽進行排除--> <exclude>application*.yaml</exclude> </excludes> </resource> <!--根據激活條件引入打包所需的配置和檔案--> <resource> <directory>src/main/resources</directory> <!--引入所需環境的組態檔--> <filtering>true</filtering> <includes> <include>application.yaml</include> <!--根據maven選擇環境匯入組態檔--> <include>application-${environment}.yaml</include> </includes> </resource> </resources>
設定三個yaml
application.yaml、application-dev.yaml 、application-prod.yaml
//application.yaml
//方法一:弊端(打包時會把dev 和 prod環境的組態檔都會打包),無法真正做到多環境開發
spring:
profiles:
active: dev //這里是寫組態檔命名-后的單詞
//方法二:通過maven來告訴springboot應該打包哪個環境的檔案(優點:不會包含其他環境的組態檔)
spring:
profiles:
active: '@environment@' #這里的單詞要手動打,等有提示才行,不然會失敗,注意YAML組態檔需要加單引號,否則會報錯,
//application-dev.yaml
server:
port: 8080
//application-prod.yaml
server:
port: 80
注意:
如果有設定日志列印,想要不同環境日志列印不同需要去日志列印的組態檔改這些:把上面上部分改成下部分
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
------------------------------------------------------------------
<!--dev環境下的日志輸出方式-->
<springProfile name="dev">
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</springProfile>
<!--prod環境下的日志輸出方式-->
<springProfile name="prod">
<root level="INFO">
<appender-ref ref="FILE"/>
</root>
</springProfile>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/500644.html
標籤:其他
