根据多模块项目锁定快照版本

时间:2014-01-07 17:08:21

标签: maven

我有一个多模块项目(B),它取决于另一个多模块项目(A)的各个模块。 (B)的每个模块可能取决于(A)的不同部分,但它们都应使用相同版本的(A)。当前该版本被指定为(B)的父pom中的属性。

我希望能够从单个命令锁定用于特定构建的版本(x.y.z-ts-buildnum),同时保持(B)的版本仅使用一次。

在父母:

    <dep.version>4.1.0-SNAPSHOT</dep.version>

在一个模块中:

<dependency>
  <groupId>com.example</groupId>
  <artifactId>B-foo</artifactId>
  <version>${dep.version}</version>
</dependency>

我试过了:

1 个答案:

答案 0 :(得分:-1)

我建议在模块的父级中为模块-A定义依赖项,如下所示:

<properties>
  <module-a.version>6.5.0-12-SNAPSHOT</module-b.version>
</properties>
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>A-foo</artifactId>
      <version>${module-a.version}</version>
    </dependency>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>A-bar</artifactId>
      <version>${module-a.version}</version>
    </dependency>
   ...
  </dependencies>
</dependencyManagement>

在您的模块中,您现在只需要写:

<dependency>
  <groupId>com.example</groupId>
  <artifactId>A-bar</artifactId>
</dependency>

这使您可以在一个地方内更改所有模块的版本。在你的模块的根 - A。