浅谈Maven环境隔离应用

 更新时间:2018年09月05日 15:10:06   作者:Steafan_  
这篇文章主要介绍了浅谈Maven环境隔离应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前言

在大大小小的公司中,开发总是多环境的,可能是2个(dev、prod)或者是4个甚至更多(dev、prod、beta、local)。

我们需要针对的配置不同环境下的服务器地址或数据库地址或属性参数等等,而Maven的环境隔离就帮我们解决了这实际性的问题,轻松解决完成环境隔离。

什么是Maven环境隔离

顾名思义,Maven环境隔离就是将开发中的环境分隔开,方便进行开发。这个在实际项目中用的还是蛮多的,如果你的项目用的Maven构建但是没用环境隔离,请立即将项目做一下环境隔离,相信我,你会回来关注我的!

项目环境

我们一般分为以下4种

  1. 本地开发环境(Local)
  2. 开发环境(Dev)
  3. 测试环境(Beta)
  4. 线上环境(Prod)

再次说明,Maven帮我们避免了人工修改的弊端,即容易犯错,轻松分环境编译,打包、部署等等

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中增加profiles节点

 <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、根据profile中写到,我们要新建对应的资源文件夹

4、编译打包时添加打包命令 -P${环境标识}

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

之后就可以在target中看到对应的环境配置,需要注意的是Maven Project下的Profiles的选择是发布的时候的版本,即发布到Tomcat时的环境参数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java中匿名内部类详解

    java中匿名内部类详解

    这篇文章主要对java中的匿名内部类的详细总结,需要的朋友可以参考下
    2017-04-04
  • SpringBoot+Redis+Lua防止IP重复防刷攻击的方法

    SpringBoot+Redis+Lua防止IP重复防刷攻击的方法

    本文主要介绍了SpringBoot+Redis+Lua防止IP重复防刷攻击的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • java多线程批量拆分List导入数据库的实现过程

    java多线程批量拆分List导入数据库的实现过程

    这篇文章主要给大家介绍了关于java多线程批量拆分List导入数据库的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-10-10
  • Java实现分库分表实践指南

    Java实现分库分表实践指南

    在开发中我们经常使用到分库分表,但是一般是我们前期就已经做了规划,对数据库怎么划分,对哪些表进行分表,这篇文章主要给大家介绍了关于Java实现分库分表的相关资料,需要的朋友可以参考下
    2024-01-01
  • SpringBoot整合Mybatis的知识点汇总

    SpringBoot整合Mybatis的知识点汇总

    在本篇文章里小编给各位整理的是关于SpringBoot整合Mybatis的知识点汇总,有兴趣学习的参考下。
    2020-02-02
  • Java实现微信网页授权的示例代码

    Java实现微信网页授权的示例代码

    这篇文章主要介绍了Java实现微信网页授权的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • MyBatis写入Json字段以及Json字段转对象示例详解

    MyBatis写入Json字段以及Json字段转对象示例详解

    这篇文章主要给大家介绍了关于MyBatis写入Json字段以及Json字段转对象的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • java 代理机制的实例详解

    java 代理机制的实例详解

    这篇文章主要介绍了java 代理机制的实例详解的相关资料,这里说明下如何实现代理机制,帮助大家理解掌握这部分内容,需要的朋友可以参考下
    2017-08-08
  • Java Web使用POI导出Excel的方法详解

    Java Web使用POI导出Excel的方法详解

    这篇文章主要介绍了Java Web使用POI导出Excel的方法,结合实例形式详细分析了Java Web使用POI导出Excel的具体操作步骤、实现技巧与相关注意事项,需要的朋友可以参考下
    2017-06-06
  • Java设计模式中的适配器模式

    Java设计模式中的适配器模式

    这篇文章主要介绍了Java设计模式中的适配器模式, 适配器模式是将一个类的接口适配成用户所期待的,一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中,需要的朋友可以参考下
    2024-01-01

最新评论