我有一个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}
?
答案 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>