基本概念说明(resources.filter和profile): 1.profiles定义了各个环境的变量id 2.filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile中定义的值 3.resources中是定义哪些目录下的文件会被配置文件中定义的变量替换,一般我们会把项目的配置文件放在src/main/resources下,像db,bean等,里面用到的变量在打包时就会根据filter中的变量配置替换成固定值 在我们平常的java开发中,会经常使用到很多配制文件…
基本概念 profiles定义了各个环境的变量id filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile中定义的值 resources中是定义哪些目录下的文件会被配置文件中定义的变量替换 原理 利用filter实现对资源文件(resouces)过滤 maven filter可利用指定的xxx.properties中对应的key=value对资源文件中的${key}进行替换,最终把你的资源文件中的username=${key}替换成username=value 利用…
Maven Filter与Profile隔离生产环境与开发环境 在不同的开发阶段,我们一般用到不同的环境,开发阶段使用开发环境的一套东西,测试环境使用测试环境的东西,可能有多个测试环境,生产环境使用的是另外一套,生产环境要求是最严格的. 不同环境,所需要的服务器地址,数据库,缓存,配置中心等配置一般不同,如果每次切换环境都要手动修改,那就太麻烦了,好在使用Maven可以帮我们做这些事情. 介绍 Filter: 过滤,一般配合maven resource插件使用,可以替换maven资源目录下的文本…
Maven打包pom里面配置exclude 排除掉环境相关的配置文件 有几种方式:1. 打包时,指定环境参数把环境的配置文件复制过去2. 不打包所有的环境相关的配置文件,直接由运维的人维护 可以在上传war包前把配置给改了,用rar工具改里面的配置,但每次都改太麻烦第一次上面放有这个配置文件,后面打包时排除掉就可以了,上面的解压后就不会覆盖了我们公司就用2,后面打包时排除掉就可以了,上面的解压后就不会覆盖了 Maven打包pom里面配置exclude 排除掉环境相关的配置文件, resource…
在我们平常的java开发中,会经常使用到很多配制文件(xxx.properties,xxx.xml),而当我们在本地开发(dev),测试环境测试(test),线上生产使用(product)时,需要不停的去修改这些配制文件,次数一多,相当麻烦.现在,利用maven的filter和profile功能,我们可实现在编译阶段简单的指定一个参数就能切换配制,提高效率,还不容易出错,详解如下. 一,原理: 利用filter实现对资源文件(resouces)过滤 maven filter可利用指定的xxx.p…
maven用可以利用如下配置进行资源过滤,pom.xml的配置如下: <build> <!-- 主资源目录 --> <resources> <resource> <!-- 设定主资源目录  --> <directory>src/main/resources</directory> <!-- maven default生命周期,process-resources阶段执行maven-resources-plugin插件的…
我们在进行项目的多环境配置时,有很多种方式供我们选择,比如 SpringBoot 自带的 application-dev.yml.maven 的 profile 等.这里介绍的就是如何利用 profile 进行多环境配置. 首先,在 pom.xml 中添加你需要的 profile 配置: <profiles> <!-- 开发环境 --> <profile> <id>dev</id> <properties> <env>de…
项目过程中,在不同的阶段,分别需要部署开发环境,测试环境,线上环境.如果都用一套配置文件,很容易弄乱,所以维持多套配置文件很有必要. maven提供了一组属性以供开发人员灵活搭配,可以根据环境来打包,比如测试环境:mvn package -DskipTests -P test,-P也就是指定profile里面id为test的子项配置来打包.在pom文件里面,可以指定多套配置文件,下面例子中区分了三套配置文件,不指定-P则默认为dev.其中的env相当于属性文件中的env=test,也可以多指定多…
项目过程中,在不同的阶段,分别需要部署开发环境,测试环境,线上环境.如果都用一套配置文件,很容易弄乱,所以维持多套配置文件很有必要. maven提供了一组属性以供开发人员灵活搭配,可以根据环境来打包,比如测试环境:mvn package -DskipTests -P test,-P也就是指定profile里面id为test的子项配置来打包.在pom文件里面,可以指定多套配置文件,下面例子中区分了三套配置文件,不指定-P则默认为dev.其中的env相当于属性文件中的env=test,也可以多指定多…
接上回继续,项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local).(开发小组内自测的)开发环境(dev).(提供给测试团队的)测试环境(test).预发布环境(pre).正式生产环境(prod),每种环境都有各自的配置参数,比如:数据库连接.远程调用的ws地址等等.如果每个环境build前手动修改这些参数,显然太不fashion. maven早就考虑到了这些问题,看下面的pom片段: 1 <profiles> 2 <profile> 3 <!-…