工具&MAven|Maven环境隔离应用场景及实战

版权声明:本文为博主原创文章,未经允许不得转载。 https://blog.csdn.net/qq_24672657/article/details/84026304

背景:在开发过程中,我们在测试和开发环境的配置不同。每次更改很麻烦。

coding

原来的资源结构

在这里插入图片描述

改造过程

一、在resource下分别创建目录如下:

在这里插入图片描述

二、修改pom.xml文件

根据创建的目录结构添加如下的节点

<profiles>
    <profile>
        <id>dev</id><!--执行打包命令时将使用此处的id进行定位-->
        <properties>
            <env>dev</env><!--此处为对应的环境放置配置文件的目录,上一步创建的为dev,这里设置为dev。下面两个目录配置参照此处-->
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault><!--此处将dev设置为默认环境-->
        </activation>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <env>test</env>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <env>prod</env>
        </properties>
    </profile>
</profiles>

其中id代表定位坐标,properties下的是自定义的属性。

  • 在build下添加resources的节点
<build>
   <resources>
      <resource>
         <directory>src/main/resources</directory> <!--打包时包含src/main/resources目录下所有文件以及子目录 -->
         <excludes> <!--打包时排除节点-->
            <exclude>environment/dev/*</exclude> <!--打包时排除src/main/resources/environment/dev下所有-->
            <exclude>environment/test/*</exclude><!-- 同上 -->
            <exclude>environment/prod/**</exclude><!-- 同上 -->
         </excludes>
      </resource>
           <resource>
               <!-- 打包时包含src/main/resources/environment/${env}下所有文件,env变量值和上面定义的一致 -->
               <directory>src/main/resource/environment/${env}</directory>
               <!-- 可以指定排除文件 -->
               <excludes>
                   <exclude>*.jsp</exclude>
               </excludes>
           </resource>
   </resources>
   
</build>
三、idea中使用

在这里插入图片描述

四、命令模式
mvn clean package -Ptest (-P+环境名称)

其中test代表环境类型

猜你喜欢

转载自blog.csdn.net/qq_24672657/article/details/84026304