【问题标题】:Maven dependencies are added automatically to my pom.xmlMaven 依赖项会自动添加到我的 pom.xml
【发布时间】:2015-12-08 11:40:08
【问题描述】:

我的 pom.xml 是否有可能自己添加依赖项和排除项?

例如:几乎这部分是自动添加的!!

    <dependency>
        <groupId>org.opensaml</groupId>
        <artifactId>opensaml</artifactId>
        <version>2.6.0</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.xerces</groupId>
                <artifactId>xercesImpl</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.10.0</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.0.13</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.0.13</version>
    </dependency>

有什么想法吗?谢谢

【问题讨论】:

  • 这真的很令人失望,但从来没有“自己”发生过。为了包含这些依赖项,必须发生了一些事情。
  • 是的,我确定,但是会发生什么!真的很奇怪!!
  • 在哪个动作之后你发现这个被添加了?是否可能是在从 SCM 获得最新版本之后?
  • @Tunaki 承认,这是很久以前的事了(这里有点过时),但有一些事情自己发生了,没有原因:Big Bang。 :-)
  • 这似乎是答案:“IntelliJ 要求我通过添加 maven 依赖项来解决一些问题”。我无法判断它是否真的是。我不使用 IntelliJ。是的,我的意思是这条信息,但并不意味着反对你。所以,没什么好遗憾的。

标签: maven intellij-idea dependencies pom.xml


【解决方案1】:

Maven 有一个叫做“传递依赖”的特性。当应用程序的依赖项具有它自己的依赖项时,Maven 会自动将这些依赖项添加到您的项目中。您可以在 Maven 网站 here 上阅读有关传递依赖关系的更多信息。

【讨论】:

  • 我不确定 OP 是否在谈论传递依赖。看起来他的 pom 的一部分是“生成的”。
  • @Tunaki 我相信传递依赖包含在有效 POM 中
  • 在有效的pom中,是的,但我不认为OP不是在谈论有效的pom。
  • @taboubim 不,我认为其他评论者都不这么认为。在与 Maven 合作多年中,我从未经历过这样的行为。
  • @cbender:传递依赖不包括在有效的 POM 中。唯一可能出现在有效 POM 中的附加依赖项是从父 POM 继承的依赖项。
【解决方案2】:

我认为我的问题的答案是 IDEA IntelliJ 正在将依赖项添加到我的 pom.xml。

Intellij 过去曾要求我授权它自动更新依赖项,我已同意。

感谢所有帮助过我的人:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2018-06-01
    相关资源
    最近更新 更多