Maven依赖管理问题

时间:2015-04-22 16:28:11

标签: java maven dependency-management

我有一个多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中导入它,则会导入外部模块的所有传递依赖项。当我正在构建我的项目时,缺少撒克逊类,我可以让它们出现的唯一方法是在我的pom中明确地将它们拉下来。这不会破坏传递依赖性解决的重点。我是否会在导入该外部模块的任何项目中明确地删除所有传递依赖项?

1 个答案:

答案 0 :(得分:0)

您是否尝试过更改依赖项的范围?

<dependency>
    <groupId>org.test</groupId>
    <artifactId>test-framework</artifactId>
    <scope>compile</scope>
</dependency>

这应该可以胜任。

在此处阅读依赖范围:

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope