我有一个多pom项目,父pom导入了一个外部模块。这个外部模块使用了某些Saxon类,我将其导入如下:
<dependency>
<groupId>org.test</groupId>
<artifactId>test-framework</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>在子pom中,我们按如下方式导入:
<dependency>
<groupId>org.test</groupId>
<artifactId>test-framework</artifactId>
<scope>provided</scope>
</dependency>我的印象是,如果您将其导入到父pom中,那么外部模块的所有可传递依赖项都将被导入。当我构建我的项目时,saxon类丢失了,我能让它们出现的唯一方法是在我的pom中显式地把它们拉下来。这不是违背了传递依赖解析的观点吗?我是否要在导入外部模块的任何项目中显式地拉下所有可传递的依赖关系?
发布于 2015-04-23 00:42:54
您是否尝试过更改依赖项的范围?
<dependency>
<groupId>org.test</groupId>
<artifactId>test-framework</artifactId>
<scope>compile</scope>
</dependency>这应该可以完成这项工作。
在这里阅读依赖范围:
https://stackoverflow.com/questions/29803630
复制相似问题