maven-test-api 模块的pom ,引入了freemarker 2.3.30版本
<dependencies>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.30</version>
</dependency>
</dependencies>
maven-test-service 模块的pom ,引入 maven-test-api 和 freemarker 2.3.31
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>maven-test-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId> <!-- 父pom中定义了 2.3.31 -->
</dependency>
</dependencies>
结果使用maven helper 的 dependency analyzer 结果如下:
如果从看来,这就让人误以为 maven-test-api 中的 freemarker 版本为2.3.31,然后实际 maven-test-api 引入的是 2.3.30版本。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
最后使用 maven dependency:tree 可以看到在maven-test-api 中看到也确实是使用了 2.3.30 版本
maven dependency:tree 命令得在 父模块maven-test 目录下使用