1. 程式人生 > >springboot專案配置多環境打包部署遇到的問題總結

springboot專案配置多環境打包部署遇到的問題總結

因為專案用到了多個環境,springboot專案在打包的時候要根據環境進行初始化相關設定,因此需要在pom檔案中配置多環境變數
pom配置檔案如下:

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profileActive>dev</profileActive>
            </properties>
            <activation
>
<activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <profileActive>test</profileActive> </properties
>
<activation> <activeByDefault>false</activeByDefault> </activation> </profile> <profile> <id>online</id> <properties> <profileActive>online</profileActive
>
</properties> <activation> <activeByDefault>false</activeByDefault> </activation> </profile> </profiles>

profile檔案指定打包啟動載入的哪個配置檔案,可根據環境的多少分別進行配置

<resources>
     <resource>
         <directory>src/main/resources</directory>
         <includes>
             <include>application-${profileActive}.yml</include>
             <include>application.yml</include>
             <include>**/*</include>
         </includes>
         <filtering>true</filtering>
     </resource>
 </resources>

resource配置指定系統配置檔案載入的路徑
其中的include表示載入的哪些檔案到容器中,如果沒有指定所有的配置載入到容器中,在配置檔案中的classpath:/**方式引用的檔案不會載入到容器中,導致啟動失敗

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <configuration>
         <delimiters>
             <delimiter>@</delimiter>
         </delimiters>
         <useDefaultDelimiters>false</useDefaultDelimiters>
     </configuration>
 </plugin>
 plugin指定maven打包時需要取得引數,根據引數來設定打包的環境的配置檔案
 另外需要建一個application.yml或者application.propertites檔案指定啟動檔案環境
 application.yml方式配置如下:
 spring:
  profiles:
    active: @[email protected]

遇到了問題記錄一下,希望可以學習更進一步,歡迎指正