天天看点

Maven环境隔离配置

作用

不用的环境中(开发环境,生产环境,测试环境),项目的配置信息有些是不一样的,比如常见的数据连接的用户名,密码,图片资源文件的保存地址。配置环境隔离使得我们的项目更灵活地应用于各种环境,避免手动更改配置信息。

步骤:

1.修改pom.xml文件

注意:

1.resources节点在 build节点的下一节

2.profiles节点和build节点同级

补充:

{deploy.type}的值为profiles节点下的deploy.type

<!-- Maven环境隔离的配置 -->
    <resources>
      <resource>
         <!-- 指定相应环境资源目录 -->
        <directory>src/main/resources.${deploy.type}</directory>
         <!--排除的资源-->
        <excludes>
          <exclude>*.jsp</exclude>
        </excludes>
      </resource>
       <!-- 指向不同环境公用的资源文件 -->
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>

  </build>

  <!-- Maven环境隔离的配置参数 -->
  <profiles>
    <profile>
      <id>dev</id>
      <activation>
    <!-- 设置dev为本地开发时的默认环境 -->
        <activeByDefault>true</activeByDefaut>
      </activation>
      <properties>
     <!-- 这里的值和id保存一致 -->
        <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>
           

配置完pom.xml文件,点击IEDA右侧的Maven选项,看到效果如下图

Maven环境隔离配置

2.验证

通过maven编译打包命令,查看编译的结果中的文件信息是否为不同的环境信息验证是否配置成功。

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

补充:

1.-P{环境参数}

2.mvn compile :编译,将Java 源程序编译成 class 字节码文件

3.mvn test :测试,并生成测试报告

4.mvn clean :将以前编译得到的旧的 class 字节码文件删除

5.mvn pakage :打包,动态 web工程打 war包,Java工程打 jar 包。

6.mvn install :将项目生成 jar 包放在仓库中,以便别的模块调用

7.maven.test.skip=true:跳过单元测试