祥云平台 网站建设wordpress pdf 下载失败
上文 java Spring Boot将不同配置拆分入不同文件管理 中 我们说到了,多环境的多文件区分管理
 说到多环境 其实不止我们 Spring Boot有 很多的东西都有
那么 这就有一个问题
 如果 spring 和 maven 都配置了环境 而且他们配的不一样 那么 会用谁的呢?
 
 此时 我们就要分清 他们两个是谁依赖谁? 谁可以自己跑起来 谁离了对方就运行不了了
 那么 显然是 Spring要依赖maven
我们打开 IDEA 运行项目 我的 application.yml 中代码是这样
spring:profiles:active: devgroup:"dev": devMVC"prm": devMVC
 
这里 我们选择了dev 开发环境
 然后 配置group选择devMVC文件
 然后我们启动项目
 
 看控制台的输出 也是没有任何问题
那么 我们打开项目的配置文件 pom.xml
 在这里面写环境配置
 参考代码如下
<profiles><profile><id>gr_dev</id><properties><profile.active>dev</profile.active></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>gr_prm</id><properties><profile.active>prm</profile.active></properties></profile>
</profiles>
 
这里 我们设置了两个变量 名字分别是 gr_prm和gr_dev 这个名字随便取 看你心情
 然后 他们分别指向环境 prm和dev
 然后 给gr_dev 设置了activation.activeByDefault 为true 表示默认启动
 
 然后 我们配置文件application.yml改成这样
spring:profiles:active: @profile.active@group:"dev": devMVC"prm": devMVC
 
通过标识符 @代理名@ 指向读取的环境属性
弄好之后呢 我们直接打包
 
 这边 target出来之后 我们直接在电脑中打开这个目录看
 
 进入 这个 target目录下 用解压包管理工具打开这个 jar包
 
 打开里面的 BOOT-INF下的 classes 下的 application.yml
 可以看到 active 他就直接给你编译成dev了
 
 为了证明 我们打开pom.xml 将默认启动的配置改到下面来 我们默认用这个 prm
 
 然后 我们重新打包一下
 
 然后 我们重新打开target下 的jar包下的BOOT-INF下的 classes 下的 application.yml
 
 这里很明显就生效了
但这里我需要提前说明 如果你在 idea 中运行项目 这个配置是有问题的 只有打包出来这个配置才有用
