我有一个多模块项目,我在父pom中使用配置文件,它们中提到了特定的依赖项。 这里的问题是,如果在子pom中,我重写了依赖元素,并提到了父pom中的一个依赖项(在父pom中的一个配置文件中声明),那个特定依赖项的版本需要是再次提到。
E.g 父母pom
<dependencies>
<dependency>
<groupId>com.mycode.apps</groupId>
<artifactId>jobs</artifactId>
<version>4</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>common-dependencies</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.mycode.apps</groupId>
<artifactId>dao</artifactId>
<version>4</version>
</dependency>
</dependencies>
</profile>
</profiles>
现在在子pom.xml中
<dependencies>
<!--this one doesnt need a version specified -->
<dependency>
<groupId>com.mycode.apps</groupId>
<artifactId>jobs</artifactId>
</dependency>
<!--this one makes maven throw an error(if version is not specified) while compilation -->
<dependency>
<groupId>com.mycode.apps</groupId>
<artifactId>dao</artifactId>
</dependency>
</dependencies>
知道可能出现什么问题,我该如何解决?
注意:配置文件标记为activeByDefault