当前位置: 首页 > 面试题库 >

我如何阅读Maven依赖树

夏立果
2023-03-14
问题内容

我有servlet-
api版本2.5,作为pom.xml中提供的范围。这是我的项目的dependency:tree输出的一部分。“从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。


问题答案:

该消息基本上意味着versionservlet-api的可传递性应为2.3(因此,基本上在commons-
logging的pom中,他们使用2.3版定义了servlet-api),但是在您的项目中特别要求使用2.5版,因此用过的。

范围也是如此。在commons-
logging的pom中,它是使用scope定义的compile,但是您已经使用scope定义了它provided,因此再次使用的是作用域。



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

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

  • 我已经阅读了整个反应堆的文件,但我无法找到正确的模式,以解决以下问题。我有一个方法可以异步地执行某些操作。我以Flux的形式返回结果响应,消费者可以订阅它。 该方法有以下定义: 返回的通量是一个热通量,结果可以在任何给定的时间异步来。 其中,是通过此通道的所有消息的。这个实现的一个问题是,消费者是在结果消息到来之后订阅的,它可能会错过其中的一些消息。 所以,我正在寻找的是一个解决方案,将允许消费者

  • 当我在pom中手动添加依赖项时。xml,让Maven下载依赖项,让IntelliJ构建模块,IntelliJ抱怨缺少库。同时,Maven可以找到依赖的JAR并构建项目。 我如何告诉IntelliJ使用Maven下载的libs?

  • 问题内容: 我有以下从缓冲读取器读取数据的示例: 每当缓冲读取器中出现某些情况时(在这种情况下),将执行循环中的代码。在我的情况下,如果客户端应用程序将某些内容写入套接字,则将执行循环中的代码(服务器应用程序中)。 但是我不明白它是如何工作的。等待直到缓冲读取器中出现某些内容,当其中出现某些内容时,它将返回并执行循环中的代码。但是什么时候可以退货。 还有另一个问题。上面的代码摘自一个方法,我在线程

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