构建配置文件的建立

Update time:2019-3-3 Author:要你命三千又三千 type:学习笔记

Maven灵活的构建方式

Maven为了支持灵活的构建方式提供了以下三个特性

  • Maven属性
  • Profile(配置文件)
  • 资源过滤

1. Maven属性

Maven通过提供六类Maven属性,实现灵活的构建

  • Maven内置属性
    常用的属性举例

${basedir} 项目的根目录
${version}项目的版本

  • POM类属性
    在这里插入图片描述
    在这里插入图片描述
    说明这些属性值都是在超级POM中定义过,我们可以重新定义,亦可以直接引用。
    POM中自定义属性
    在这里插入图片描述
    其他几类属性
    在这里插入图片描述

2.什么是构建配置文件?

构建配置文件(A Build profile) 是一系列的配置项的值

作用:可以用来设置或者覆盖Maven构建默认值。

使用构建配置文件,你可以为不同的环境,比如说生产环境和开发环境,定制构建方式。

配置文件在pom.xml文件中使用activeProfiles或者profiles元素指定,并且可以通过各种方式触发。配置文件在构建时修改POM,并且用来给参数设定不同的目标环境(比如说,开发、测试和生产环境中数据库服务器的地址)。
构建配置文件的类型

1.配置文件举例

他可以定义在你以下三个位置,对应三种类型。
构建配置文件大体上有三种类型

注解:Maven 2中也有在项目中的profile.xml 文件,然后使用资源过滤进行解析此文件,Maven 3已经废除。

类型 在哪定义
项目级(Per Project) 定义在项目的POM文件pom.xml中
用户级 (Per User) 定义在Maven的设置xml文件中 (%USER_HOME%/.m2/settings.xml)
全局(Global) 定义在Maven全局的设置xml文件中 (%M2_HOME%/conf/settings.xml)

说明:由于非POM的配置文件,不被打包到项目中,所以POM的project可以配置很少属性。

 <profiles>
      <profile>
          <id>test</id>
          <activation><!--这里配置了系统属性的激活方式,当运行是系统的env属性为test运行次配置文件-->
            <property>
               <name>env</name>
               <value>test</value>
            </property>
          </activation>
          <build>
              <plugins>
                 <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.8</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.properties" tofile="${project.build.outputDirectory}/env.properties" overwrite="true"/>
                          </tasks>
                          </configuration>
                       </execution>
                    </executions>
                 </plugin>
              </plugins>
          </build>
      </profile>

命令行激活方式

mvn test -Ptest
在这里插入图片描述

配置文件激活

Maven的构建配置文件可以通过多种方式激活。

  • 使用命令控制台输入显式激活。
  • 通过maven设置。
    1. 基于环境变量(用户或者系统变量)。
    2. 操作系统设置(比如说,Windows系列)。
    3. 文件的存在或者缺失。
      实例:

具体操作方法:

profile 可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个 profile,然后每个 profile 对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。

通过环境变量激活

mvn test -Denv=test
提示 1:上面使用 -D 传递环境变量,其中 evn 对应刚才设置的 < name> 值,test 对应< value>。


## 通过操作系统激活配置文件
activation 元素包含下面的操作系统信息。当系统为 windows XP 时,test Profile 将会被触发。
```xml
<profile>
   <id>test</id>
   <activation> <!--在profile中添加激活条件,activation,操作系统类型-->
      <os>
         <name>Windows XP</name>
         <family>Windows</family>
         <arch>x86</arch>
         <version>5.1.2600</version>
      </os>
   </activation>
</profile>

现在打开命令控制台,跳转到 pom.xml 所在目录,并执行下面的 mvn 命令。不要使用 -P 选项指定 Profile 的名称。Maven 将显示被激活的 test Profile 的结果

mvn test

通过文件的存在或者缺失激活配置文件

现在使用 activation 元素包含下面的操作系统信息。当 target/generated-sources/axistools/wsdl2java/com/companyname/group 缺失时,test Profile 将会被触发。

<profile>
   <id>test</id>
   <activation><!--激活方式是文件确实就使用此文件-->
      <file>
         <missing>target/generated-sources/axistools/wsdl2java/
         com/companyname/group</missing>
      </file>
   </activation>
</profile>

现在打开命令控制台,跳转到 pom.xml 所在目录,并执行下面的 mvn 命令。不要使用 -P 选项指定 Profile 的名称。Maven 将显示被激活的 test Profile 的结果。

mvn test

具体的参考文章

参考文章:http://www.runoob.com/maven/maven-build-profiles.html
参考文章:Maven实战第十四章,灵活的构建。

猜你喜欢

转载自blog.csdn.net/qq_35495763/article/details/87896230
今日推荐