当前位置: 首页 > 知识库问答 >
问题:

如何读取 Maven 依赖树

解翰采
2023-03-14

我在pom.xml中提供了servlet-api版本2.5。“版本2.3管理的是什么;从编译管理的范围”是什么意思?

[INFO] +- commons-logging:commons-logging:jar:1.1:compile
[INFO] |  \- javax.servlet:servlet-api:jar:2.5:provided (version managed from 2.3; scope managed from compile)

这是否意味着在我的类路径上2.3版本有一些传递依赖?我的WAR文件根本没有servlet-api jar,但是我使用的是Spring 2.5.4的旧版本。我怀疑Spring框架依赖于servlet-api 2.3。

共有2个答案

闾丘德宇
2023-03-14

这意味着您的项目已经从其他依赖项中重写了< code >版本和< code >范围。

东郭思远
2023-03-14

该消息基本上意味着servlet-api的version将传递为2.3(所以基本上在公共日志的pom中,他们用2.3版定义servlet-api),但2.5版是在您的项目中特别要求的,所以这就是使用的。

示波器也是如此。在commons logging的pom中,它是用scope<code>compile</code>定义的,但您使用的是scope<code>提供的</code<定义的,所以这也是所使用的作用域。

 类似资料:
  • 问题内容: 我有servlet- api版本2.5,作为pom.xml中提供的范围。这是我的项目的dependency:tree输出的一部分。“从2.3版本管理;从编译范围管理”是什么意思? 这是否意味着我的类路径上对版本2.3有一些传递依赖?我的WAR文件根本没有servlet- api jar,但是我使用的是Spring 2.5.4的旧版本。我怀疑Spring框架取决于servlet-api

  • 我想知道以下jar的所有传递依赖项: 将经典命令移动到pom。项目定义依赖关系和输入的xml: mvn依赖:树 将显示: 我没看到魔咒父母: 乍一看,mvn命令似乎可以显示非pom类型的依赖项。 有没有一种方法可以精确地显示使jar保持活动状态所需的每个文件? 谢谢

  • Maven将使用其最近的WINS策略自动解决依赖关系冲突,在这种情况下,它将在结果: [INFO]-(commons-collections:commons-collections:jar:2.1:compile-因与2.0冲突而省略) 在本例中,如果选择commons-collections:2.1,我将有一个备用依赖关系树,可能包含多个其他依赖关系。 我目前正在做的工作是识别与其他依赖项有冲突

  • 主要内容:依赖声明,获取依赖坐标Maven 是一款优秀的依赖管理工具,那么什么是依赖呢? 通俗的说,如果一个 Maven 构建所产生的构件(例如 Jar 文件)被其他项目引用,那么该构件就是其他项目的依赖。 依赖声明 Maven 坐标是依赖的前提,所有 Maven 项目必须明确定义自己的坐标,只有这样,它们才可能成为其他项目的依赖。当一个项目的构件成为其他项目的依赖时,该项目的坐标才能体现出它的价值。 当 Maven 项目需要声

  • 我们有一个项目a依赖于项目B,项目B依赖于图书馆C。a和B是本地项目,而C是maven central repo的公共图书馆。 波姆。xml用于: 波姆。用于B的xml: 在A中运行mvn dependency:tree-Dverbose时,它不会解析B的依赖项,B中使用的此类依赖项也不会显示在A的Maven依赖项中。这对于编译很好,但在运行时会因为NoClassDefFound错误而失败。 有没

  • 我正试图让maven下载所有的依赖项(编译、测试、插件等)。)这样我就可以避免让我们的dockerized构建浪费不必要的时间一遍又一遍地下载它们。 我们已经对maven build进行了dockerized,这样我们就可以从jenkins运行它,而无需在jenkins机器上安装大量构建特定的依赖项(Java、redis、maven依赖项等)。我们的构建依赖于增量docker构建,它只执行实际需要

  • 主要内容:排除依赖,可选依赖,排除依赖 VS 可选依赖 我们知道 Maven 依赖具有传递性,例如 A 依赖于 B,B 依赖于 C,在不考虑依赖范围等因素的情况下,Maven 会根据依赖传递机制,将间接依赖 C 引入到 A 中。但如果 A 出于某种原因,希望将间接依赖 C 排除,那该怎么办呢?Maven 为用户提供了两种解决方式:排除依赖(Dependency Exclusions)和可选依赖(Optional Dependencies)。 排除依赖

  • 问题内容: 我有一个模块化的maven项目,其中两个模块“ BIZ”和“ EJB”包含如下内容: 如您所见, “ EJB”依赖于“ BIZ”, 因为它使用 MyClassX (实际上,它使用了BIZ的几种类别)。这就是 ImplFactory 使用反射实例化 InterfaceImpl 的原因。问题是 cl.newInstance() 将抛出 ClassCastException, 因为这两个模块