素材巴巴 > 程序开发 >

maven--profile--根据环境引入配置(动态引入配置)--方法/实例

程序开发 2023-09-09 14:20:38

原文网址:maven--profile--根据环境引入配置(动态引入配置)--方法/实例_IT利刃出鞘的博客-CSDN博客

简介

        本文用示例介绍maven如何根据环境来引入配置。

maven的profile与SpringBoot的profile的区别

SpringBoot的profile

  1. 作用:运行的时候,把哪几个配置包含进来。
  2. 如果有多个环境,需要在运行jar包的时候通过参数来指定,比如:java -jar test-1.0.0-SNAPSHOT.jar --spring.profiles.active=dev

maven的profile

  1. 作用:
    1. 指定打包的时候只打包哪个或哪几个环境
      1. maven是打包的工具,它的profile可以指定打包的时候只打包哪个或哪几个环境。例如:我只想打包test,就只把resources下边test的配置打包进去。
    2. 因为profile下边可以写dependencies等标签,所以可以在不同环境中使用不同的依赖。
      1. 比如:开发了个新功能,这个新功能是在自己的包里添加的(存放在maven私库中)则在开发对应的profile中升级此依赖的版本;等开发结束后,将测试对应的profile也升级此依赖的版本;测试通过后,则将生产对应的profile也升级此依赖的版本。
  2. 运行jar包的时候就不需要指定参数了。

实例

pom.xml

配置如下两项:

  1. profiles节点
  2. build -> resources节点

 4.0.0org.springframework.bootspring-boot-starter-parent2.3.0.RELEASE com.exampledemo_SpringBoot0.0.1-SNAPSHOTdemo_SpringBootDemo project for Spring Boot1.8org.springframework.bootspring-boot-starter-webdevdevtruetesttestprodprodorg.springframework.bootspring-boot-maven-pluginsrc/main/resourcesapplication*.ymltruesrc/main/resourcesapplication.ymlapplication-${profileActive}.ymltrue
 
 

结果 

这样配置之后,Idea的maven可以展示出profiles选项:

配置文件

application.yml

spring:profiles:active: @profileActive@

.yml或者.properties通过@xxx@的方式引入pom.xml里边的内容。

比如,如果上一步中箭头处选择了test,则本处spring.profiles.active就是test

applicaiton-xxx.yml

 里边可以先不写东西。 

测试

选择prod,然后打包:

结果:(确实只将相应的配置文件打包进来了)

 查看demo_SpringBoot-0.0.1-SNAPSHOT.jar

总结


标签:

上一篇: IDEA 设置 基于ESlint的代码格式化 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。