如何找到库的maven属性名称?

时间:2017-02-03 02:52:38

标签: maven

我在pom.xml中定义了这些属性 -

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <powermock.version>1.6.2</powermock.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <spring.artifact.version>4.1.7.RELEASE</spring.artifact.version>
    <logback.version>1.1.6</logback.version>
</properties>

我试图了解这些属性名称的定义 - powermock.version,logback.version?我怎么知道ch.qos.logback.core库的版本是由logback.version属性决定的?我查了很多这方面的信息,发现有许多众所周知的属性,比如maven.compiler.source和maven.compiler.target,但没有解释版本的属性。

2 个答案:

答案 0 :(得分:1)

  

Maven Properties是   值占位符,与Ant中的属性一样。他们的价值观可以获得   使用符号$ {X}在POM中的任何位置,其中X是   属性。

您当前的使用情况是上述链接中提到的第5种风格

  

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

当您想要将同一个变量用于可能或可能不属于同一groupId的多个工件时,它的有效性就会发挥作用。

例如 -

<properties>
    <spring.version>3.1.2.RELEASE</spring.version>
</properties>

您可以使用与 -

相同的属性进一步定义依赖关系
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version> <!-- version would be fetched from properties-->
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version> <!-- version would be fetched from properties-->
</dependency>

类似于

<version>3.1.2</version>

确保两个工件也在同一版本上。

答案 1 :(得分:0)

根据@nullpointer的回答,我做了一些挖掘,这就是我找到的。我想将此作为评论,但我发现很难在评论中对此进行格式化。我希望可以将此作为答案发布。我在SO上发帖比较新...所以请告诉我这是否应该以不同方式进行。我会接受@nullpointer的回答,即使这也是一个答案。

我的超级&#39; pom包括这个 -

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
</parent>

spring-boot-starter-parent pom包含这个 -

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>1.4.1.RELEASE</version>
    <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

spring-boot-dependencies pom包含 -

<properties>
...
    <logback.version>1.1.7</logback.version>
...
</properties>

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-access</artifactId>
    <version>${logback.version}</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>${logback.version}</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>${logback.version}</version>
</dependency>