iMisty的技术栈

iMisty的技术栈

Maven环境隔离

923
2020-09-04

实际的项目环境

  • 本地开发环境(Local)
  • 开发环境(Dev)
  • 测试环境(Beta)
  • 线上环境(prod)

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

  • Ftp服务器相关配置不一样
  • 数据库配置不一样
    ...

maven环境隔离解决的主要的实际问题

  • 避免人工修改的弊端,也就是容易犯错
  • 轻松分环境编译,打包,部署

maven环境隔离配置及原理

  • pom.xml中build节点中增加

img

  • pom.xml中增加profiles节点

img

maven环境隔离目录初始化

  • 再resources同级目录新建对应的文件夹,并且把要隔离的文件分开,公共的留下
    img

maven环境隔离idea中设置默认环境

  • 在idea右侧maven projects,选中本地开发环境对应的环境,点击import change进行更新

img

注意点,这里可以多选,但是建议不要多选,并且一定要实心选中,不要半选中(虚选),不然可能造成环境错乱

  • 如果不勾选对应的环境的话就采用默认配置的环境进行打包

maven环境隔离编译打包命令

  • 参数是-P${环境标识}

  • Dev

  • Beta

  • Prod

  • 实例mvn clean package -Dmaven.test.skip=true -PDev

  • 先清除之前打的包 ,再跳过单元测试,最后打对应的环境的包

通过命令行打包是针对当前指定的环境或者默认的环境进行编译打包,通过点击右侧maven代表项目的发布环境,勾选之后点击import change编译打包 会运行在配置好的tomcat容器中

实际使用过程中的问题

  • 即使配置了多个环境,在也不要拖动文件,而让相对位置发生改变,因为编译打包之后还是读取的class目录

img