美文网首页我爱编程
maven之setting.xml配置文件

maven之setting.xml配置文件

作者: 米特侠 | 来源:发表于2017-05-11 10:23 被阅读730次

    setting.xml配置文件

    maven的配置文件settings.xml存在于两个地方:

    1.安装的地方:${M2_HOME}/conf/settings.xml

    2.用户的目录:${user.home}/.m2/settings.xml

    前者又被叫做全局配置,对操作系统的所有使用者生效;后者被称为用户配置,只对当前操作系统的使用者生效。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml会覆盖全局的settings.xml。

    Maven安装后,用户目录下不会自动生成settings.xml,只有全局配置文件。如果需要创建用户范围的settings.xml,可以将安装路径下的settings复制到目录${user.home}/.m2/。Maven默认的settings.xml是一个包含了注释和例子的模板,可以快速的修改它来达到你的要求。

    全局配置一旦更改,所有的用户都会受到影响,而且如果maven进行升级,所有的配置都会被清除,所以要提前复制和备份${M2_HOME}/conf/settings.xml文件,一般情况下不推荐配置全局的settings.xml。

    <?xml version="1.0"encoding="UTF-8">

    <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">

    <!-- 本地仓库。该值表示构建系统本地仓库的路径。其默认值为${user.home}/.m2/repository。 --> 

    <localRepository>usr/local/maven<localRepository/>

    <!-- Maven是否需要和用户交互以获得输入。如果Maven需要和用户交互以获得输入,则设置成true,反之则应为false。默认为true。 -->

    <interactiveMode>true<interactiveMode/>

    上面的配置文件对各个节点的含义及作用都有注解。实际应用中,经常使用的是、、、有限几个节点,其他节点使用默认值足够应对大部分的应用场景。

    节点

    在仓库的配置一节中,已经对setting.xml中的常用节点做了详细的说明。在这里需要特别介绍一下的是节点的配置,profile是maven的一个重要特性。

    节点包含了激活(activation)仓库(repositories)插件仓库(pluginRepositories)属性(properties)共四个子元素元素。profile元素仅包含这四个元素是因为他们涉及到整个的构建系统,而不是个别的项目级别的POM配置。

    profile可以让maven能够自动适应外部的环境变化,比如同一个项目,在Linux下编译linux的版本,在win下编译win的版本等。一个项目可以设置多个profile,也可以在同一时间设置多个profile被激活(active)的。自动激活的 profile的条件可以是各种各样的设定条件,组合放置在activation节点中,也可以通过命令行直接指定。如果认为profile设置比较复杂,可以将所有的profiles内容移动到专门的 profiles.xml 文件中,不过记得和pom.xml放在一起。

    activation节点是设置该profile在什么条件下会被激活,常见的条件有如下几个:

    1.os

    判断操作系统相关的参数,它包含如下可以自由组合的子节点元素

    message - 规则失败之后显示的消息

    arch - 匹配cpu结构,常见为x86

    family - 匹配操作系统家族,常见的取值为:dos,mac,netware,os/2,unix,windows,win9x,os/400等

    name - 匹配操作系统的名字

    version - 匹配的操作系统版本号

    display - 检测到操作系统之后显示的信息

    2.jdk

    检查jdk版本,可以用区间表示。

    3.property

    检查属性值,本节点可以包含name和value两个子节点。

    4.file

    检查文件相关内容,包含两个子节点:exists和missing,用于分别检查文件存在和不存在两种情况。

    如果settings中的profile被激活,那么它的值将覆盖POM或者profiles.xml中的任何相等ID的profiles

    如果想要某个profile默认处于激活状态,可以在中将该profile的id放进去。这样,不论环境设置如何,其对应的 profile都会被激活。

    原文地址:http://blog.csdn.net/u012152619/article/details/51485152

    setting.xml配置文件

    maven的配置文件settings.xml存在于两个地方:

    1.安装的地方:${M2_HOME}/conf/settings.xml

    2.用户的目录:${user.home}/.m2/settings.xml

    前者又被叫做全局配置,对操作系统的所有使用者生效;后者被称为用户配置,只对当前操作系统的使用者生效。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml会覆盖全局的settings.xml。

    Maven安装后,用户目录下不会自动生成settings.xml,只有全局配置文件。如果需要创建用户范围的settings.xml,可以将安装路径下的settings复制到目录${user.home}/.m2/。Maven默认的settings.xml是一个包含了注释和例子的模板,可以快速的修改它来达到你的要求。

    全局配置一旦更改,所有的用户都会受到影响,而且如果maven进行升级,所有的配置都会被清除,所以要提前复制和备份${M2_HOME}/conf/settings.xml文件,一般情况下不推荐配置全局的settings.xml。

    相关文章

      网友评论

        本文标题:maven之setting.xml配置文件

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