【问题标题】:How to include maven dependency stated on other project to my project?如何将其他项目上声明的 Maven 依赖项包含到我的项目中?
【发布时间】:2016-08-28 21:31:10
【问题描述】:

所以这是我的项目的结构:

pom.xml
--myproject1/pom.xml
--myproject2/pom.xml

这是我想要包含的依赖项:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>

现在我在父 pom.xml 上声明了这种依赖关系。并且myproject2myproject1 声明为它的依赖项。

由于某种原因,我想将此依赖项移出父级pom.xml 并将其移至myproject1/pom.xml。但是,即使 myproject1 被列为其依赖项之一,myproject2 似乎也无法访问 junit 依赖项。

知道我该怎么做吗?

【问题讨论】:

    标签: maven intellij-idea pom.xml parent-pom


    【解决方案1】:

    范围test 不具有传递性。就是这样。

    如果你想在 myproject2 中使用 junit,并且你想让 junit 远离父 pom,那么你必须声明 myproject2 依赖于 junit。

    【讨论】:

    • 谢谢!我也有 org.slf4jlog4j-over-slf4j${slf4j.version} 对于这个,我不指定范围,但它也用于测试。这是否意味着我也必须将其放入 myproject2 中?
    • 如果不指定范围,则默认选择compilecompile 是可传递的,所以 slf4j 可以在 myproject2 中访问
    猜你喜欢
    • 2016-01-13
    • 2020-08-17
    • 1970-01-01
    • 2014-07-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    相关资源
    最近更新 更多