首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Maven拉出未在dependency中显示的antlr jar :tree

Maven拉出未在dependency中显示的antlr jar :tree
EN

Stack Overflow用户
提问于 2021-03-15 19:07:05
回答 2查看 85关注 0票数 2

我的Maven / Java项目中有多个版本的antlr,我正在尝试了解项目的pom.xml中的哪个依赖项拉出了哪个版本。

在我的.m2目录下,我看到了三个不同的antlr版本:

代码语言:javascript
复制
~/.m2/repository/antlr/antlr/2.7.2/antlr-2.7.2.jar
~/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar
~/.m2/repository/.../org.apache.servicemix.bundles.antlr-2.7.7_5.jar

如果我运行

代码语言:javascript
复制
$ mvn dependency:tree

从项目的根目录中,我得到:

代码语言:javascript
复制
[INFO] +- org.apache.directory.api:api-all:jar:2.0.0.AM2:compile
[INFO] |  +- ...:org.apache.servicemix.bundles.antlr:jar:2.7.7_5:compile
...
[INFO] +- org.hibernate:hibernate-agroal:pom:5.3.7.Final:compile
[INFO] |  +- io.agroal:agroal-pool:jar:0.4:compile
[INFO] |  +- org.hibernate:hibernate-core:jar:5.3.7.Final:compile
...
[INFO] |  |  +- antlr:antlr:jar:2.7.7:compile

因此,Maven找到版本2.7.7_5 (由org.apache.directory.api:api-all拉取)和版本2.7.7 (由org.hibernate:hibernate-agroal拉取),但找不到版本2.7.2。此版本不会直接列在项目pom.xml中。

我删除了文件夹.m2/repository/antlr/antlr/2.7.2并运行

代码语言:javascript
复制
$ mvn compile

从项目的根文件夹。它立即再次下载了2.7.2版本:

代码语言:javascript
复制
[INFO] Scanning for projects...
...
Downloading from central: https://repo.maven.apache.org/maven2/antlr/antlr/2.7.2/antlr-2.7.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/antlr/antlr/2.7.2/antlr-2.7.2.pom (145 B at 331 B/s)

同样,mvn dependency:tree没有显示关于版本2.7.2的任何内容。这怎么可能呢?为什么mvn拉取的JAR版本不会显示在项目的依赖项中?如何找出pom.xml文件中的哪个依赖项拉动了这个JAR文件?

在过去的三个小时里,我一直在搜索文档,但目前我没有任何线索。

EN

回答 2

Stack Overflow用户

发布于 2021-03-15 19:11:22

依赖关系也可以来自插件,尝试运行dependency:resolve-plugins来解析所有插件及其依赖关系:

代码语言:javascript
复制
mvn dependency:resolve-plugins

除此之外,您可以做的另一件事是使用-X选项运行mvn进行调试。

票数 4
EN

Stack Overflow用户

发布于 2021-03-15 19:12:14

主要有两种可能性:

  • 如果.m2/repository中只出现了POM,则这只是maven的依赖项解析过程的一部分。
  • 如果出现了POM和JAR,并且JAR不在依赖关系树中,则很可能是maven插件将JAR拉入maven

通常,如果您在本地存储库中发现意外的JAR,没有什么可担心的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66636808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档