美文网首页程序员
Maven - 构建配置文件

Maven - 构建配置文件

作者: 欧余山南 | 来源:发表于2017-10-18 20:30 被阅读0次

    配置文件用于以不同的方式构建项目。比如,你可能需要在本地环境构建,用于开发和测试,你也可能需要构建后用于开发环境。这两个构建过程是不同的。在POM文件中增加不同的构建配置,可以启用不同的构建过程。当运行Maven时,可以指定要使用的配置。
    在 pom.xml 中使用 activeProfiles / profiles 元素指定,并且可以用很多方式触发。配置文件修改 POM 后,在编译的时候是用来给不同的目标环境参数(例如,在开发、测试和产品环境中的数据库服务器路径)。

    profile的定义位置

    可以有多个地方定义profile。定义的地方不同,它的作用范围也不同。

    • 单个项目配置:针对于特定项目的profile配置我们可以定义在该项目的pom.xml中。
    • 用户配置:针对于特定用户的profile配置,我们可以在用户的settings.xml文件中定义profile。该文件在用户家目录下的“.m2”目录下。
    • 全局配置:全局的profile是定义在Maven安装目录下的“conf/settings.xml”文件中的。

    配置文件激活

    profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有时候我们可以通过操作系统的不同来使用不同的配置信息,比如windows下是一套信息,linux下又是另外一套信息,等等。
    Maven 构建配置文件的文件,可以使用以下几种方式来激活。

    • 明确使用命令从控制台输入
      比如你定义了一个名为 myProfile 的 profile,你只需要在命令行输入 mvn clean install -Pmyprofile 就能将其激活,这种方式的好处很明显,但是有一个很大的弊端,当 profile 比较多的时候,在命令行输入这写 -P 参数会让人觉得厌烦,所以,如果你一直用这种方式,觉得厌烦了,可以考虑使用其它自动激活的方式
    • 通过 Maven 设置
      打开 Maven 的 settings.xml 文件,该文件可以在 %USER_HOME%/.m2 目录下找到,%USER_HOME% 表示用户主目录。如果 settings.xml 文件不存在则需要创建一个。
      像在下面例子中展示的一样,使用 activeProfiles 节点添加 test 配置作为激活的 Profile

    <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">
    <activeProfiles>
    <activeProfile>test</activeProfile>
    </activeProfiles>
    </settings>

    • 基于环境变量(用户/系统变量)
      profile可根据检测出的生成环境的状态, 自动触发. 这些触发在<profile>下的<activation>一节中定义. 当前, 该检测仅限于JDK版本的前缀匹配\ 系统属性是否存在 或一个系统属性的值。
      (1) 当JDK的版本号以"1.6"开头时, 下例中的配置将被触发.

    <profiles>
    <profile>
    <activation>
    <jdk>1.6</jdk>
    </activation>
    ...
    </profile>
    </profiles>

    • OS设置(例如,Windows系列)
      activation 元素包含下面的操作系统信息。当系统为 windows XP 时,test Profile 将会被触发

    <profile>
    <id>test</id>
    <activation>
    <os>
    <name>Windows XP</name>
    <family>Windows</family>
    <arch>x86</arch>
    <version>5.1.2600</version>
    </os>
    </activation>
    </profile>

    • 呈现/丢失的文件
      现在使用 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>

    相关文章

      网友评论

        本文标题:Maven - 构建配置文件

        本文链接:https://www.haomeiwen.com/subject/rheeuxtx.html