zoukankan      html  css  js  c++  java
  • maven实战-----读书笔记之第十四章

    第十四章 灵活的构建

    1.Maven属性:

    2.构建环境的差异

    在不同的环境中,项目的源码应该使用不同的方式进行构建,最常见的是数据库配置,

    生产环境数据库配置

    测试环境数据库配置

    我们常见的做法是,先改好了之后再去构建,但是,maven针对不同的环境生成不同的构件,为了应对环境的变化,首先需要使用maven属性将这些会发生变化的部分提取出来,连接数据库时,url,用户名,密码都有可能发生变化,因此用maven属性代替它,如下图所示:

    这里定义了四个maven属性,既然用到了maven属性,就应该在某个地方定义它,我们可以新增一个profile将其包裹起来,注意的是,他定义的四个maven属性与properties文件下的${db.username}等四个配置相同,这样才可以匹配起来如下图所示:

    这里使用了一个id为dev的profile,目的是将开发环境与其他环境区分开来,有了属性定义,配置文件中也使用了这些文件,还要做的是,maven的属性默认只会在pom文件中被解析,所以,我们需要propeties也要认识这四个属性,因此需要让maven解析资源文件的maven属性,其实是maven-resources-plugin插件要做的事情,首先我们要为资源开启过滤,在pom.xml的build添加下面几行,如下图所示:

     到这里,我们将数据库配置的变化部分提取成了maven属性,在pom的porfile中定义了这些属性的值,并且为资源目录开启了属性过滤,最后,主需要在命令行激活profile,maven就能够在构建项目的时候使用profile中的属性值替换数据库配置文件中的属性引用

    输入命令: mvn clean install -Pdev 

    针对不同环境的profile

    输入命令: mvn clean install -Pdev,-Ptest ,此时会激活dev和test这两个profile

    上面介绍了命令行激活,下面我们看看其他几种激活方式

     

    2.profile的种类

  • 相关阅读:
    谷歌浏览器禁用缓存
    web项目中各种路径的获取
    visual studio 2015常用快捷键
    Jquery实际应用,判断radio,selelct,checkbox是否选中及选中的值
    JQuery获取浏览器窗口的可视区域高度和宽度,滚动条高度
    OAuth学习总结
    今日技术碎片
    碎片化的一天
    软件架构简史
    竞态条件概念
  • 原文地址:https://www.cnblogs.com/hejj-bk/p/11423820.html
Copyright © 2011-2022 走看看