想象一下,你想为你的Maven项目添加一个依赖项。该依赖项是一个子依赖项,它有一个未包含在依赖项中的父项。
例如,我有一个项目 A,它有一个依赖项 b。库 b 是 B 的子库。库 b 具有依赖项 C。
我的项目 A 的 pom 具有以下依赖项(库 'b'(:
// pom of A
<dependency>
<artifactId>b</artifactId>
<groupId>something.thisthing</groupId>
<version>0.1</version>
</dependency>
b,B的父级B有一个依赖关系:
// pom of B
<dependency>
<groupId>something.thisthing</groupId>
<artifactId>C</artifactId>
<version>${theVersionOfC}</version>
</dependency>
最后,b 依赖于 C,但没有提到它的版本,它使用在其父级的 pom 中给出的${theVersionOfC}
参数:
// pom of b
<dependency>
<groupId>something.thisthing</groupId>
<artifactId>C</artifactId>
</dependency>
我的项目 A 找不到依赖项 C,因为版本 b 的 pom 中未指定。
我现在如何依赖 b,并告诉 b 它应该使用哪个版本的 C?
工件b
需要从某处绘制something.thisting
的版本。该表示法表明该版本取自某个依赖项管理。这可以是在b
的pom中,也可以在B
的pom中。在B
的pom中,您提到了一个依赖项,看起来它实际上应该是一个依赖项管理条目。如果将B
pom 中的依赖项放入依赖项管理中,它应该可以工作(如果还指定了该属性(。