利用maven按环境打包SpringBoot的不同配置文件

application-dev.properties对应开发环境

application-test.properties对应测试环境

application-prod.properties对应生产环境

application.properties中填写spring.profiles.active=@activatedProperties@

这里的@activatedProperties@是一个变量对应pom文件里的环境配置

下面是pom文件的配置

<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<activatedProperties>dev</activatedProperties>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<activatedProperties>test</activatedProperties>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<activatedProperties>prod</activatedProperties>
</properties>
</profile>
</profiles>
在pom文件里分别配置好不同环境的文件名称,

注意:pom文件中的<activatedProperties>dev</activatedProperties>中的dev与配置文件名称application-dev.properties要一致,
pom文件中的<activatedProperties>名称对应application.properties配置文件中的spring.profiles.active=@activatedProperties@
当maven打包时会用pom文件里<activatedProperties>dev</activatedProperties>中的值替换掉application.properties配置文件中的@activatedProperties@

下面配置maven打包插件

<build>
<resources>
<resource>
<!--配置文件路径 -->
<directory>src/resources</directory> <!--这里对应项目存放配置文件的目录-->
<!--开启filtering功能 -->
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.2.RELEASE</version>
<configuration>
<mainClass>com.duan.SpringbootMybatis.App</mainClass><!--springboot启动类目录-->
</configuration>
<executions>
<execution>
<goals>
<!--创建一个自动可执行的jar或war文件 -->
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

配置完成,下面我们进行打包操作,我是使用eclipse进行打包,项目pom文件右键,run as ---> maven build

观察控制台输入日志

已经构建成功,刷新一下项目,target会生成SpringbootMybatis-0.0.1-SNAPSHOT.jar包。

我们可以观察一下jar包的目录结构:

打开manifest.mf文件

查看启动类是否正确。

下面我们执行一下这个jar包,输入执行命令,java -jar

出现启动成功信息,对应端口号是8888与我们application-prod.properties配置文件中的一致,说明配置成功了。

浏览器访问一下

访问成功!

主要利用了maven打包时,拦截配置文件使用pom文件中的值替换掉spring.profiles.active=@activatedProperties@中的变量,完成动态配置文件的使用功能。

最新文章

  1. Android之消息机制Handler,Looper,Message解析
  2. 前台JS(type=‘file’)读取本地文件的内容,兼容各种浏览器
  3. Jconsole加载Jtop插件
  4. 例题:计算运费。c#语言基础,比较简单。看代码输入格式和方法。同样方法可以做一个 出租车打车的程序
  5. Qt 制作安装包
  6. nginx之keepalive
  7. JS-中对表单处理
  8. android 打包签名
  9. easyui 中的treegrid添加checkbox
  10. 【原生js】原生js实现验证码短信发送倒计时
  11. web.xml文件中的7个错误的安全配置
  12. 201521123053《Java程序设计》第十一周学习总结
  13. 课堂测试ch06
  14. Visual C++ 6.0中if的简单用法
  15. jmeter计算身份证校验位
  16. jquery----jquery中的属性的利用
  17. 连续子数组和的最大值plus
  18. 菜鸟学Java(三)——JSTL标签之核心标签
  19. win10 WiFi 密码查询 命令
  20. Django 组件-分页器

热门文章

  1. python基础-第十篇-10.2CSS基础
  2. Javascript闭包学习(Closure)
  3. kafka-stream数据清洗
  4. Python并行编程(九):线程通讯queue
  5. html table表格列数太多添加横向滚动条
  6. CCF 201312-4 有趣的数[dp][难]
  7. SpringMVC的映射器,适配器,控制器
  8. 20165324 《Java程序设计》 第六周
  9. vim符号列表
  10. Python(面向对象5——高级)