您的位置:首页 > 编程语言 > Java开发

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

2018-01-21 21:16 1136 查看
因为项目用到了多个环境,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: @profileActive@


遇到了问题记录一下,希望可以学习更进一步,欢迎指正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springboot