1. 什么是构建配置文件?
    1. 配置文件是一组配置的集合,用来设置或者覆盖Maven构建的默认设置
    2. 使用配置文件可以为不同的环境定制构建过程,例如Producation和Development环境。
  2. Profile在pom.xml文件中使用activeProfiles/profiles元素定义,并且可以用很多的方式触发
    1. Profile在构建的时候修改POM文件,并且为变量设置不同的目标环境(例如:在开发、测试、和产品环境中的数据库服务器路径)
  3. Profile的类型
    1. profile主要有三种类型
  4. Profile激活
    1. maven的profile可以通过一下几种方式进行激活
      1. 显示使用命令控制台
      2. 通过maven设置
      3. 基于环境变量(用户/系统变量)
      4. 操作系统配置(Windows family)
      5. 现存/残缺 文件
    2. profile激活示例
      1. 假定工程目录像下面这样
      2. 现在在src/main/resources目录下有三个环境配置文件
        1.  
    3. 显示Profile激活
      1. 接下来的例子当中,通过将attach maven-antrun-plugin:run目标添加到测试阶段中,这样可以在我们的不同的Profile中输出文本信息。
      2. 我们通过使用pom.xml来定义不同的Profile,并在命令行窗口中使用maven命令进行激活Profile
      3. 假定有一下的文件
        1. <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
          http://maven.apache.org/xsd/maven-4.0.0.xsd">
          <modelVersion>4.0.0</modelVersion>
          <groupId>com.companyname.projectgroup</groupId>
          <artifactId>project</artifactId>
          <version>1.0</version>
          <profiles>
          <profile>
          <id>test</id>
          <build>
          <plugins>
          <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.1</version>
          <executions>
          <execution>
          <phase>test</phase>
          <goals>
          <goal>run</goal>
          </goals>
          <configuration>
          <tasks>
          <echo>Using env.test.properties</echo>
          <copy file="src/main/resources/env.test.propertiestofile
          ="${project.build.outputDirectory}/env.properties"/>
          </tasks>
          </configuration>
          </execution>
          </executions>
          </plugin>
          </plugins>
          </build>
          </profile>
          </profiles>
          </project>
        2. 假定有以上文件,在控制台跳转到文件所在路径,然后执行一下命令
          1. mvn test -Ptest
          2. Maven 将会显示并且test  Profile的结果
    4. 现在我们练习一下可以按照接下来的步骤这么做
      1. 在pom.xml文件的profiles元素中添加一个profile元素(拷贝已有的profile元素并粘贴到profiles元素的结尾)
      2. 将此profile元素的id从test改为normal
      3. 将任务部分修改为echo env.properties以及copy env.properties到目标目录
      4. 再次重复以上三个步骤,修改id为prod,修改task部分为env.prod.properties
      5. 全部就是这些了,现在有了三个构建配置文件(normal/test/prod)
        1. 在命令行窗口,跳转到pom.xml所在目录,执行以下的mvn命令,使用-P选项来指定profile的名称
        2. mvn test -Pnormal
          mvn test -Pprod
        3. 检查构建的输出有什么不同!
    5. 通过Maven设置激活Profile
      1. 打开maven的setting.xml文件,该文件可以在%USER_HOME%/.m2目录下面找到,
      2. 如果setting.xml不存在,则需要创建一个
      3. 在下面的例子当中,使用activeProfiles节点添加test配置作为激活Profile
        1. <settings xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
          http://maven.apache.org/xsd/settings-1.0.0.xsd">
          <mirrors>
          <mirror>
          <id>maven.dev.snaponglobal.com</id>
          <name>Internal Artifactory Maven repository</name>
          <url>http://repo1.maven.org/maven2/</url>
          <mirrorOf>*</mirrorOf>
          </mirror>
          </mirrors>
          <activeProfiles>
          <activeProfile>test</activeProfile>
          </activeProfiles>
          </settings>
        2. 命令行控制台,跳转到pom.xml文件所在的目录,并且执行以下的mvn命令,不要使用-P选项指定Profile的名称
          1. Maven将显示被激活的test Profile的结果
          2. mvn test
    6. 通过环境激活Profile
      1. 现在从maven的setting.xml文件中删除激活的Profile,并且更新pom.xml中的test Profile,将下面的内容添加到profile元素的activation元素中
      2. 当系统属性env被设置成“test”的时候,test配置将会被触发,创建一个环境变量“env”并设置他的值为“test”
        1. <profile>
          <id>test</id>
          <activation>
          <property>
          <name>env</name>
          <value>test</value>
          </property>
          </activation>
          </profile>
      3. 打开控制台窗口,跳转到pom.xml文件所在的目录,并且执行一下的mvn命令
      4. mvn test
    7. 通过操作系统激活Profile
      1. activation元素包含下面的操作系统的信息
      2. 当系统为WindowsXP的时候,test Profile文件会触发
      3. <profile>
        <id>test</id>
        <activation>
        <os>
        <name>Windows XP</name>
        <family>Windows</family>
        <arch>x86</arch>
        <version>5.1.2600</version>
        </os>
        </activation>
        </profile>
      4. 现在控制台跳转到pom.xml所在的目录,并且执行以下的mvn命令。不要使用-P选项指定profile 的名称,Maven将显示被激活的test Profile的结果
      5. mvn  test



5、Maven-构建配置文件的更多相关文章

  1. Maven 构建配置文件

    什么是构建配置文件? 生成配置文件是一组可以用来设置或覆盖 Maven 构建配置值的默认值.使用生成配置文件,你可以针对不同的环境,如:生产V/S开发环境自定义构建. 配置文件中指定 pom.xml ...

  2. Maven学习(十四)-----Maven 构建配置文件

    Maven 构建配置文件 什么是构建配置文件? 生成配置文件是一组可以用来设置或覆盖 Maven 构建配置值的默认值.使用生成配置文件,你可以针对不同的环境,如:生产V/S开发环境自定义构建. 配置文 ...

  3. Java-Maven-Runoob:Maven 构建配置文件

    ylbtech-Java-Maven-Runoob:Maven 构建配置文件 1.返回顶部 1. Maven 构建配置文件 构建配置文件是一系列的配置项的值,可以用来设置或者覆盖 Maven 构建默认 ...

  4. 【第五篇】-Maven 构建配置文件之Spring Cloud直播商城 b2b2c电子商务技术总结

    Maven 构建配置文件 构建配置文件是一系列的配置项的值,可以用来设置或者覆盖 Maven 构建默认值. 使用构建配置文件,你可以为不同的环境,比如说生产环境(Production)和开发(Deve ...

  5. maven 学习---Maven 构建配置文件

    什么是构建配置文件? 构建配置文件是一组配置的集合,用来设置或者覆盖 Maven 构建的默认配置.使用构建配置文件,可以为不同的环境定制构建过程,例如 Producation 和 Developmen ...

  6. 01 Maven构建的项目中,把.xml等配置文件添加到编译目录

    Maven构建的项目,默认只会把src/main/resources目录下的xml配置文件添加到编译目录. 如果需要把src/main/java目录下的xml配置文件也添加到编译目录,需要在pom.x ...

  7. Maven的构建配置文件(Build Profiles)

    在命令行使用构建配置文件时,是-P,比如:mvn -Pinput 注意:这里的构建配置文件并不是一个真正的文件,而是通过指定参数来做特定的事. 以下内容引用自https://ayayui.gitboo ...

  8. 使用IntelliJ IDEA和Maven构建Java web项目并打包部署

    爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html 一.背景 现在越来越多的人使用IntelliJ IDEA工具进 ...

  9. Maven学习3-使用Maven构建项目

    转自:http://www.cnblogs.com/xdp-gacl/p/4240930.html maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项 ...

  10. Maven学习总结(三)——使用Maven构建项目

    maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的过程. 一.构建Java项目 1.1.创建Java Project 1.使用mvn archet ...

随机推荐

  1. Codeforces Round #601 (Div. 2) A Changing Volume

    好吧,其实我拿到这个题的时候,首先想到了bfs,写完之后,开开森森的去交代码,却在第二个数据就TEL,然后优化半天,还是不行. 最终,我盯着1,2,5发呆半天,wc,然后直接贪心 #include&l ...

  2. turtleh海龟库

    Turtle海龟库 导入 import turtle turtle.setup(width,height,startx,starty) -setup():设置窗体的位置和大小 相对于桌面的起点的坐标以 ...

  3. Spring boot --- 自动配置

    spring boot 自动配置 指的是针对很多spring 应用程序常见的应用功能,spring boot 能自动提供相关配置. spring boot 自动配置加载     Spring boot ...

  4. Spring家族几大插件

    Spring家族很庞大,从最早先出现的服务于企业级程序开发的Core.安全方面的Security.到后来的作为各种数据源桥梁的Data.最近几年很火的Boot,以及最新推出的正在蓬勃发展的Cloud( ...

  5. css 页面滚动 多背景固定不动

    经常看到一些网站,滚动页面但是背景图不会跟着滚动,好像一直固定在浏览器窗口,感觉挺酷的,哇哦 ~ ~ 原来都是 background-attachment 这位大兄弟的功劳 background-at ...

  6. Elasticsearch集群知识笔记

    Elasticsearch集群知识笔记 Elasticsearch内部提供了一个rest接口用于查看集群内部的健康状况: curl -XGET http://localhost:9200/_clust ...

  7. ASP.NET + MVC5 入门完整教程七 -—-- MVC基本工具(上)

    https://blog.csdn.net/qq_21419015/article/details/80474956 这里主要介绍三类工具之一的 依赖项注入(DI)容器,其他两类 单元测试框架和模仿工 ...

  8. MySQL学习(九)小结

    redo-log 和 bin-log 是如何联系起来的? update 语句在更新的时候先更新内存后,写 redo-log 然后 bin-log ,其中后面一步是使用了两阶段提交, 也就是每一个更新都 ...

  9. 数据库程序接口——JDBC——初篇——目录

    目录 建立连接 核心对象 Driver DriverManager Connection DataSource 常用功能 第一个程序 C3P0数据源 DBCP数据源 事务之Spring事务 执行SQL ...

  10. django 0

    web 框架的本质 - socket服务端 socket 收发消息 根据不同的路径返回不同的内容 模板渲染 jinja2 字符串替换 mvc model(模型/db) view(展示html) con ...