Maven环境隔离
在项目的开发会面临到各个阶段的开发时期,有本地开发环境(Local)、开发环境(Dev)、测试环境(Beta)、线上环境(Prod)在各个时期使用到的环境,数据库FTPServer等等都是不一样的,所以这里我们引入Maven环境隔离
1.首先打开项目的pom.xml文件找到build节点,在其内部添加子节点
<resources>
<resource>
<directory>src/main/resources.${deploy.type}</directory>
<excludes>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
2.在项目的pom.xml文件找到build节点,与其同一级别添加节点
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault><!-- 默认环境 -->
</activation>
<properties>
<deploy.type>dev</deploy.type>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<deploy.type>beta</deploy.type>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<deploy.type>prod</deploy.type>
</properties>
</profile>
</profiles>
3.在pom.xml文件下导入完两个节点后在文件左上角会有蓝色的impor changes,点之导入修改的内容。
4.此时在项目的右边找到Maven Projects窗口点击,随后点击左上角的蓝色更新按钮,即可发现出现profiles文件,里头的内容正是刚刚配置的内容
5.随后在项目的main文件夹下的找到resources文件夹,创建与之同级的文件夹:
resources.beta
resources.dev
resources.prod
6.将项目中要隔离的环境从resources文件夹中拷贝至各个文件夹中,随后删除resources文件夹中的原文件,留下不需要隔离的公用环境。
7.为了方便后面我们切换环境的时候可以看到切换成功,我们可以在各环境的其中同一个文件中添加上注释 (#beta env,#dev env,#prod env)
8.执行打包代码,每打包一个的时候可以进入target文件夹下的classes包下找到我们做标记的包查看,此时会发现已经切换成功。
mvn clean package -Dmaven.test.skip=true -Pbeta
mvn clean package -Dmaven.test.skip=true -Pdev
mvn clean package -Dmaven.test.skip=true -Pprod
9.此时我们执行此行代码,该代码没有添加-P参数,走的默认环境(上面配置文件有指定默认环境走哪个)
mvn clean package -Dmaven.test.skip=true
10.最后我们将tomcat部署上项目的war包后运行tomcat,此时tomcat就会将我们在Maven Projects窗口上选择的环境部署上去(建议打勾一个环境)
日拱一卒无有尽,功不唐捐终入海