微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pom.xml maven 中的属性标签是什么意思?

如何解决pom.xml maven 中的属性标签是什么意思?

我在 spring boot 中工作,我在 pom.xml 文件中看到了 properties 标签,但我不明白这是什么意思,我们可以在这文件中做什么标签

properties 标签,例如

   <properties>
        <java.version>1.8</java.version>
   </properties>

properties 标签是什么意思?

我还可以在 properties 标签添加什么?

解决方法

属性标签是什么意思?

来自官方 Maven 文档:

属性是了解 POM 基础知识的最后一个必需部分。 Maven 属性是值占位符,就像 Ant 中的属性一样。它们的值可以通过使用符号 ${X} 在 POM 中的任何位置访问,其中 X 是属性。或者它们可以被插件用作默认值,例如:

在您的情况下,您已将属性定义为 java 版本。

现在这个属性(java.version)可以稍后在 maven pom 文件中重用。

来自官方 Maven 文档:

它们有五种不同的风格:

  • env.X:用“env”前缀变量。将返回 shell 的环境变量。例如,${env.PATH} 包含 PATH 环境变量。注意:虽然环境变量本身是 在 Windows 上不区分大小写,属性的查找区分大小写。 换句话说,虽然 Windows shell 返回相同的值 %PATH% 和 %Path%,Maven 区分 ${env.PATH} 和 ${env.Path}。环境变量的名称被规范化为所有 为了可靠性,大写。

  • project.x:POM 中用点 (.) 标记的路径将包含相应元素的值。例如: 1.0 可通过 ${project.version}。

  • settings.x:settings.xml 中的点 (.) 标记路径将包含相应元素的值。例如: false 可通过访问 ${settings.offline}。

  • Java 系统属性:所有可通过 java.lang.System.getProperties() 访问的属性都可作为 POM 属性使用, 例如 ${java.home}。

  • x:在 POM 中的元素内设置。 value 的值可以用作 ${someVar}。

我还可以在属性标签中添加什么?

您可以在您的 maven pom 文件中添加您稍后需要重用的所有变量。

例如下面的 POM 片段重用了 jackson.version 4 次。

<properties>
    <jackson.version>2.10.2</jackson.version>
    <dropwizard.version>2.0.1</dropwizard.version>
    <websocket.version>1.4.0</websocket.version>
    <apachehttp.version>4.5.10</apachehttp.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${apachehttp.version}</version>
    </dependency>
    <dependency>
        <groupId>org.java-websocket</groupId>
        <artifactId>Java-WebSocket</artifactId>
        <version>${websocket.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${jackson.version}</version>
    </dependency>
 <dependencies>

参考资料:

Maven Pom Properties

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。