maven+spring boot 多环境多配置,目录结构切换

it2024-11-21  14

maven+spring boot 多环境多配置切换

maven多环境配置文件,生产环境,开发环境,测试环境的配置文件resource目录如图: 需要动态切换的是application.yml和properties文件pom.xml的配置如下

maven多环境配置文件,生产环境,开发环境,测试环境的配置文件resource目录如图: 需要动态切换的是application.yml和properties文件

pom.xml的配置如下

<!-- 开启读取多环境配置 --> <build> <resources> <resource><!--此处的设置是打包的时候排除不相关的目录--> <directory>src/main/resources/config</directory> <!--此处设置为上面在resources目录下创建的文件夹--> <excludes> <exclude>dev/*</exclude> <exclude>test/*</exclude> <exclude>prod/*</exclude> </excludes> <!--开启过滤器,此处不能忽略!--> <filtering>true</filtering> </resource> <!--此处的设置是为了将放置于resources文件夹下mybatis的mapper文件正常打包进去,和一些不需要多环境的配置文件--> <resource> <!--如果将mybatis的mapper文件放在dao接口的同目录下,应该将此处设置为src/main/java--> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>aa.jks</include> <include>logback.xml</include> <include>public.txt</include> <include>aa.json</include> <include>static/**</include> </includes> <!--此处不需要过滤器过滤--> <filtering>false</filtering> </resource> <!--此处设置是配置相应配置文件夹的路径(profiles.active是自己定义的,和下边的profile对应即可)--> <resource> <directory>src/main/resources/config/${profiles.active}</directory> </resource> </resources> </build> <profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <!-- 默认使用的环境配置 --> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <profiles.active>test</profiles.active> </properties> </profile> <profile> <id>prod</id> <properties> <profiles.active>prod</profiles.active> </properties> </profile> </profiles>

打包的时候: 自己的命令,后边加 - P dev 这个命令即可 P是大写,后边的dev代表自己要打包的环境的名称(匹配好自己定义的)

注意: 除了需要动态配置的配置文件之外,resource里面还有很多其他的文件夹:如rules里面的校验,mapper里面的sql,还有static里面的静态资源等。 如果不按照以上配置,会提示mapper的sql找不到,页面访问404,日志文件配置读不到等多种问题。

最后: 对比我的文档结构和配置,调整自己的文档结构和配置 配置不是全部复制下来就可以的了,还是要结合自己的实际情况相应修改。

最新回复(0)