我有一个父pom,它像这样在dependencyManagement bloc中定义了一个依赖项
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tibco.plugins</groupId>
<artifactId>com.tibco.bw.palette.shared</artifactId>
<version>6.1.100</version>
</dependency>
</dependencies>
</dependencyManagement>
在儿童pom中,我正在使用这种依赖项
<dependencies>
<dependency>
<groupId>com.tibco.plugins</groupId>
<artifactId>com.tibco.bw.palette.shared</artifactId>
<scope>provided</scope>
</dependency>
问题是当我打开项目是自定义的Eclipse IDE时,出现此错误,它无法理解该版本位于父pom中
我需要某种方式在不重新定义子pom的情况下引用父pom中的版本
谢谢
答案 0 :(得分:1)
尝试一下...
在您的父母pom
<groupId>my.project</groupId>
<artifactId>myproject-parent</artifactId>
<version>MYPROJECT-1.0</version>
<packaging>pom</packaging>
<properties>
<com.tibco.bw.palette.shared.version>6.1.100</com.tibco.bw.palette.shared.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tibco.plugins</groupId>
<artifactId>com.tibco.bw.palette.shared</artifactId>
<version>${com.tibco.bw.palette.shared.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
然后在您的孩子pom
<parent>
<groupId>my.project</groupId>
<artifactId>myproject-parent</artifactId>
<version>MYPROJECT-1.0</version>
<relativePath>..</relativePath>
</parent>
<groupId>my.project.child</groupId>
<artifactId>myproject-child</artifactId>
<version>MYPROJECT-1.0</version>
<dependencies>
<dependency>
<groupId>com.tibco.plugins</groupId>
<artifactId>com.tibco.bw.palette.shared</artifactId>
</dependency>
</dependencies>
正确设置父母/子女关系非常重要。另外请注意,dependencyManagement
仅在Maven层次结构中起作用一个级别(即不适用于“大孩子”)
答案 1 :(得分:0)
在属性X.X下的父pom中添加依赖项版本,并在子项中引用占位符。实际上,您也可以在父级外部省略相同的项目属性,因为它们将从父级继承。 –来自WhoCares