Maven 环境隔离详细说明及操作

实际的项目环境

1、本地开发环境(local)

2、开发环境(dev)

3、测试环境(beta)

4、线上环境(prod)

隔离环境之间各种配置存在的差异

1、FTP服务器相关的配置不一样

2、数据库配置

3、支付宝支付的配置

4、等等

Maven环境隔离解决的实际问题

1、避免人工修改的弊端,即容易犯错误

2、轻松分环境编译、打包、部署

3、等等

Maven环境隔离配置

第一步:在里面加入
<resources>
    <resource>
        <directory>src/main/resources.${deploy.type}</directory>
        <excludes>
            <exclude>*.jsp</exclude>
        </excludes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>
第二步:与同级加入
<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>
第三步:刷新一下,这个时候我们看到profiles 有刚刚配置的三个环境了

这里写图片描述

第四步:

新建对应的文件夹,并把隔离的文件分开,公共的留下。

这里写图片描述

打包命令:

mvn clean package -Dmaven.test.skip=true -P${参数}

如:

mvn clean package -Dmaven.test.skip=true -Pdev
mvn clean package -Dmaven.test.skip=true -Pbeta
mvn clean package -Dmaven.test.skip=true -Pprod
测试1

我隔离的shop.properties中里面有个注解是识别,下图

这里写图片描述

现在我打包编译的是prod

执行命令:

mvn clean package -Dmaven.test.skip=true -Pprod

执行结果注意看图:
这里写图片描述

我们看到执行完命令后target/shop.properties文件里面的注解,是我prod环境下的shop.properties。

我们使用tomcat启动时想指定环境启动,只需要在idea maven project中进行勾选即可(建议你使用什么环境就勾选什么环境,不要多勾选,以免出现其它不必要的错误),如下图:
这里写图片描述

测试2

我选中dev,把tomcat跑起来,看到target/shop.properties文件里面的注解,是我设置dev环境下的shop.properties。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_33524158/article/details/80041394