在Maven中,如何使构建版本使用其依赖项之一的版本?

在Maven中,如何使构建版本使用其依赖项之一的版本?,maven,jenkins,intellij-idea,versioning,dependency-management,Maven,Jenkins,Intellij Idea,Versioning,Dependency Management,我正在为外部依赖项构建帮助程序库。如何使构建版本从外部依赖的版本中获取 <groupId>com.foo</groupId> <artifactId>bar</artifactId> <version>???</version> <dependencyManagement> <dependencies> <dependency> <

我正在为外部依赖项构建帮助程序库。如何使构建版本从外部依赖的版本中获取

  <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>
com.foo
酒吧
???
com.external.dependency
酒吧
3.0.42

我希望我的库也构建为3.0.42,以反映它是该版本(可能还有一些旧版本)的外部依赖项的助手。

您可以按照@Thorbjørn的建议在依赖项标记中使用
${project.version}

或者,您可以在POM的properties部分定义一个属性
(请注意,名称很重要,不要尝试其他属性名称),并将项目和库中的
定义为
${revision}


第二种方法需要一个合理的新Maven版本(如3.5.x或3.6.x)。

您可以按照@Thorbjørn的建议在依赖项标记中使用
${project.version}

或者,您可以在POM的properties部分定义一个属性
(请注意,名称很重要,不要尝试其他属性名称),并将项目和库中的
定义为
${revision}


第二种方法需要一个合理的新Maven版本(如3.5.x或3.6.x)。

仅通过外部操作文件设置版本(XSLT对此很有用)。Maven在这里只提供纯字符串值。但请注意,您可以说您希望依赖项的版本为${project.version}(或类似版本),从而改变表。请注意,您应该在开发时使用快照,这样做不太可行。只有通过外部操作文件来设置版本(XSLT对此很有用)。Maven在这里只提供纯字符串值。但请注意,您可以说您希望依赖项的版本为${project.version}(或类似版本),从而改变表。请注意,您应该在开发时使用快照,以降低此操作的可行性。