在 Maven 中,如何使我的构建版本使用其依赖项之一的版本?
In Maven, how do I make the version of my build use the version of one of its dependencies?
我正在为外部依赖构建一个帮助程序库。如何使我的构建版本取自外部依赖项的版本?
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
<version>???</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.external.dependency</groupId>
<artifactId>bar</artifactId>
<version>3.0.42</version>
</dependency>
</dependencies>
</dependencyManagement>
我希望我的库也构建为 3.0.42,以反映它是该外部依赖项版本(可能还有一些旧版本)的助手。
您可以按照@Thorbjørn 的建议在依赖项标签中使用 ${project.version}
。
或者,您可以在 POM 的属性部分定义一个 属性 <revision>
(注意名称很重要,不要尝试另一个 属性 名称)并定义项目中的 <version>
和库中的 ${revision}
.
第二种方法需要相当新的 Maven 版本(例如 3.5.x 或 3.6.x)。
我正在为外部依赖构建一个帮助程序库。如何使我的构建版本取自外部依赖项的版本?
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
<version>???</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.external.dependency</groupId>
<artifactId>bar</artifactId>
<version>3.0.42</version>
</dependency>
</dependencies>
</dependencyManagement>
我希望我的库也构建为 3.0.42,以反映它是该外部依赖项版本(可能还有一些旧版本)的助手。
您可以按照@Thorbjørn 的建议在依赖项标签中使用 ${project.version}
。
或者,您可以在 POM 的属性部分定义一个 属性 <revision>
(注意名称很重要,不要尝试另一个 属性 名称)并定义项目中的 <version>
和库中的 ${revision}
.
第二种方法需要相当新的 Maven 版本(例如 3.5.x 或 3.6.x)。