Java Maven依赖关系管理问题
我有一个多pom项目,父pom导入一个外部模块。此外部模块使用某些Saxon类,我将其导入为:Java Maven依赖关系管理问题,java,maven,dependency-management,Java,Maven,Dependency Management,我有一个多pom项目,父pom导入一个外部模块。此外部模块使用某些Saxon类,我将其导入为: <dependency> <groupId>org.test</groupId> <artifactId>test-framework</artifactId> <version>1.0-SNAPSHOT</version>
<dependency>
<groupId>org.test</groupId>
<artifactId>test-framework</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
组织测试
测试框架
1.0-快照
在子pom中,我们将其导入为:
<dependency>
<groupId>org.test</groupId>
<artifactId>test-framework</artifactId>
<scope>provided</scope>
</dependency>
组织测试
测试框架
假如
我的印象是,如果您在父pom中导入它,那么外部模块的所有可传递依赖项都将被导入。当我构建我的项目时,saxon类丢失了,我能让它们出现的唯一方法就是在pom中显式地将它们拉下来。这难道没有挫败传递依赖解析的观点吗。我是否要在导入该外部模块的任何项目中明确地下拉所有可传递的依赖项?您是否尝试过更改依赖项的范围
<dependency>
<groupId>org.test</groupId>
<artifactId>test-framework</artifactId>
<scope>compile</scope>
</dependency>
组织测试
如果没有提供,这是默认范围,如上所述。正确,编译是默认范围。但您选择“提供”作为您的范围。将其替换为编译或删除。