maven-2 – 如果在配置文件中提到它们,那么maven child pom依赖项不会从父pom依赖项中获取版本

我有一个多模块项目,我在父pom中使用配置文件,它们中提到了特定的依赖项.
这里的问题是,如果在子pom中,我重写了依赖元素,并提到了父pom中的一个依赖项(在父pom中的一个配置文件中声明),那个特定依赖项的版本需要是再次提到.

例如
父母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

最佳答案
对于这种要求你dependencyManagement这是完全适用于这种情况.或者看看Sonatype Book.
这种情况不应由配置文件处理.

转载注明原文:maven-2 – 如果在配置文件中提到它们,那么maven child pom依赖项不会从父pom依赖项中获取版本 - 代码日志