springboot專案配置多環境打包部署遇到的問題總結
阿新 • • 發佈:2019-01-11
因為專案用到了多個環境,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]
遇到了問題記錄一下,希望可以學習更進一步,歡迎指正