• 【无标题】Maven的属性引用


    一个POM可以通过一对大括弧和前面一个美元符号来包含 对属性的引用。例如,考虑如
    下的POM:

    4.0.0
    org.sonatype.mavenbook
    project-a
    1.0-SNAPSHOT
    jar

    org.sonatype.mavenbook-content-zh


    如果你将这段XML放入pom.xml,然后运行mvn help:effective-pom,你会看到输出包含
    这一行:

    org.sonatype.mavenbook-project-a

    在Maven读取一个POM的时候,它会在载入POM XML的时候替换这些属性的引用。在Maven
    的高级使用中Maven属性经常出现,这些属性和其它系统中的属性如Ant或者Velocity
    类似。它们是一些由MavenProject: org.sonatype.mavenbook:content-zh:0.6-SNAPSHOT
    @ /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/
    content-zh/pom.xml划界的变量。Maven提供了三个隐式的变量,可以用来访问环境变
    量,POM信息,和Maven Settings:
    env
    env变量 暴露了你操作系统或者shell的环境变量。例如,在Maven POM中一个
    对/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/bin:/usr/local/bin:/usr/local/
    maven/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/java/latest/bin:/usr/
    local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/
    bin:/usr/local/bin的引用将会被/usr/local/bin:/usr/local/maven/bin:/usr/
    kerberos/sbin:/usr/kerberos/bin:/usr/java/latest/bin:/usr/local/sbin:/
    usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/bin:/usr/
    local/bin环境变量替换(或者Windows中的%PATH%)。
    project
    project变量暴露了POM。你可以使用点标记(.)的路径来引用POM元素
    的值。例如,在本节中我们使用过groupId和artifactId来设置构建配置
    中的finalName元素。这个属性引用的语法是:org.sonatype.mavenbook-
    p r o j e c t . a r t i f a c t I d 。 s e t t i n g s s e t t i n g s 变量暴露了 M a v e n s e t t i n g s 信息。可以使用点标记( . )的路径来引用 s e t t i n g s . x m l 文件中元素的值。例如, {project.artifactId}。 settings settings变量暴露了Maven settings信息。可以使用点标记(.)的路径来引 用settings.xml文件中元素的值。例如, project.artifactIdsettingssettings变量暴露了Mavensettings信息。可以使用点标记(.)的路径来引用settings.xml文件中元素的值。例如,{settings.offline}会引用~/.m2/
    settings.xml文件中offline元素的值。
    注意
    你可能在老的构建中看到使用 p o m . x x x 或者仅仅 {pom.xxx}或者仅仅 pom.xxx或者仅仅{xxx}来引用POM属性。这
    些方法已被弃用,我们只应该使用 p r o j e c t . x x x 。除了这三个隐式的变量,你还可以引用系统属性,以及任何在 M a v e n P O M 中和构建 p r o f i l e 中自定义的属性组。 J a v a 系统属性所有可以通过 j a v a . l a n g . S y s t e m 中 g e t P r o p e r t i e s ( ) 方法访问的属性都被暴露成 P O M 属性。一些系统属性的例子是: h u d s o n , / h o m e / h u d s o n , / u s r / l i b / j v m / j a v a − 1.6.0 − o p e n j d k − 1.6.0.0 / j r e ,和 L i n u x 。一个完整的系统属性列表可以在 j a v a . l a n g . S y s t e m 类的 J a v a d o c 中找到。 x 我们还可以通过 p o m . x m l 或者 s e t t i n g s . x m l 中的 p r o p e r t i e s 元素设置自己的属性,或者还可以使用外部载入的文件中属性。如果你在 p o m . x m l 中设置了一个名为 f o o B a r 的属性,该属性就可以通过 {project.xxx}。 除了这三个隐式的变量,你还可以引用系统属性,以及任何在Maven POM中和构建 profile中自定义的属性组。 Java系统属性 所有可以通过java.lang.System中getProperties()方法访问的属性都被暴露 成POM属性。一些系统属性的例子是:hudson,/home/hudson,/usr/lib/jvm/ java-1.6.0-openjdk-1.6.0.0/jre,和Linux。一个完整的系统属性列表可以 在java.lang.System类的Javadoc中找到。 x 我们还可以通过pom.xml或者settings.xml中的properties元素设置自己的属 性,或者还可以使用外部载入的文件中属性。如果你在pom.xml中设置了一个名 为fooBar的属性,该属性就可以通过 project.xxx。除了这三个隐式的变量,你还可以引用系统属性,以及任何在MavenPOM中和构建profile中自定义的属性组。Java系统属性所有可以通过java.lang.SystemgetProperties()方法访问的属性都被暴露成POM属性。一些系统属性的例子是:hudson/home/hudson/usr/lib/jvm/java1.6.0openjdk1.6.0.0/jre,和Linux。一个完整的系统属性列表可以在java.lang.System类的Javadoc中找到。x我们还可以通过pom.xml或者settings.xml中的properties元素设置自己的属性,或者还可以使用外部载入的文件中属性。如果你在pom.xml中设置了一个名为fooBar的属性,该属性就可以通过{fooBar}引用。当你构建一个系统,它针
    对不同的部署环境过滤资源,那么自定义属性就变得十分有用。这里是在POM中
    设置${foo}=bar的语法:

    bar

  • 相关阅读:
    Git在实际生产中的使用
    打通“”任督二脉“”的大模型:基础大模型的进展意味着什么?变革的底层逻辑是什么?
    Lesson1强化学习(RL)初印象 学习笔记
    测试人即用宝典,全网最全的功能测试点,有这一篇完全足够......
    GO语言-包的使用
    在 Python 中使用 Selenium 按文本查找元素
    最新SSL证书申请源码,支持API接口,支付在线充值
    YOLOV5---自己数据集制作
    [硬件基础]-快速了解I2C串行通信协议
    神经网络需要哪些数学知识,神经网络的数学方法
  • 原文地址:https://blog.csdn.net/weixin_49983175/article/details/126087139