springboot项目配置多环境打包部署遇到的问题总结

因为项目用到了多个环境,springboot项目在打包的时候要根据环境进行初始化相关设置,因此需要在pom文件中配置多环境变量
pom配置文件如下:

<profiles>
        <profile>
            <id>devid>
            <properties>
                <profileActive>devprofileActive>
            properties>
            <activation>
                <activeByDefault>trueactiveByDefault>
            activation>
        profile>
        <profile>
            <id>testid>
            <properties>
                <profileActive>testprofileActive>
            properties>
            <activation>
                <activeByDefault>falseactiveByDefault>
            activation>
        profile>
        <profile>
            <id>onlineid>
            <properties>
                <profileActive>onlineprofileActive>
            properties>
            <activation>
                <activeByDefault>falseactiveByDefault>
            activation>
        profile>
    profiles>

profile文件指定打包启动加载的哪个配置文件,可根据环境的多少分别进行配置

<resources>
     <resource>
         <directory>src/main/resourcesdirectory>
         <includes>
             <include>application-${profileActive}.ymlinclude>
             <include>application.ymlinclude>
             <include>**/*include>
         includes>
         <filtering>truefiltering>
     resource>
 resources>

resource配置指定系统配置文件加载的路径
其中的include表示加载的哪些文件到容器中,如果没有指定所有的配置加载到容器中,在配置文件中的classpath:/**方式引用的文件不会加载到容器中,导致启动失败

<plugin>
     <groupId>org.apache.maven.pluginsgroupId>
     <artifactId>maven-resources-pluginartifactId>
     <configuration>
         <delimiters>
             <delimiter>@delimiter>
         delimiters>
         <useDefaultDelimiters>falseuseDefaultDelimiters>
     configuration>
 plugin>
 plugin指定maven打包时需要取得参数,根据参数来设置打包的环境的配置文件
 另外需要建一个application.yml或者application.propertites文件指定启动文件环境
 application.yml方式配置如下:
 spring:
  profiles:
    active: @profileActive@

遇到了问题记录一下,希望可以学习更进一步,欢迎指正

你可能感兴趣的:(springboot学习)