Maven依赖版本作为属性

时间:2016-05-21 02:33:51

标签: java maven

我有一个maven pom文件,它定义了一个依赖关系:

<dependencies>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.3.6</version>
    </dependency>
</dependencies>

通常说pom中的所有内容都可以作为Maven属性引用:

https://bowerstudios.com/node/991

例如,您可以阅读${project.version}${project.build}等。有没有办法将依赖关系的版本作为Maven属性读取,ala ${project.dependencies.dependency.groupId=org.apache.httpcomponents&artifactId=httpclient.version}

1 个答案:

答案 0 :(得分:10)

您可以在<properties>下定义自定义属性,并从您的依赖项中引用它。首选方法是将属性放在父pom中(如果存在并且是多模块项目)。或者,如果您在<version>部分中定义了<dependency>,则可以完全跳过<dependency-management>

<properties>
<http.client.version>4.3.6</http.client.version>
</properties>
...
<dependencies>
   <dependency>
     <groupId>org.apache.httpcomponents</groupId>
     <artifactId>httpclient</artifactId>
     <version>${http.client.version}</version>
   </dependency>
</dependencies>