java - 如何解决 Maven 依赖关系问题(例如,出现 ClassNotFoundException 的情况)

标签 java maven

(回答问答式)

假设您开始遇到 ClassNotFoundException 并且您怀疑这可能是由于过时的库造成的。您发现了未找到的类属于哪个库,但是您有一个不平凡的 Maven 项目,并且该库不在显式声明的依赖项中。如何找出正在使用的有问题的库的版本?

最佳答案

首先输出项目的依赖关系树:

mvn dependency:tree -Dverbose

您可以专注于特定项目(例如,如果您的 Maven 项目是多模块项目):

mvn dependency:tree -Dverbose -pl myproject

现在搜索您的库并发现编译中使用的版本、依赖于该库的内容,以及可能为什么要传递同一库的较新版本。要使用您选择的工具在树中搜索,请保存命令输出(在类 UNIX 系统上),然后在您选择的查看器中将其打开。

mvn dependency:tree -Dverbose -pl myproject | tee deptree.txt

关于java - 如何解决 Maven 依赖关系问题(例如,出现 ClassNotFoundException 的情况),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60917360/

相关文章:

java - 如何实现具有泛型返回类型和泛型参数的泛型方法?

java - 无法导入类,IntelliJ 显示 BOOT-INF 前缀,似乎是相关的

java - NodeConnectorRef 的 java 文件在哪里?

java - maven - 无法执行 cargo :start

maven - 在 Wildfly 上部署 KIE-CI 失败

java - 如何将数据流式传输到操作链中

java - 如何在 Sublime Text 3 for java 中构建也支持包的系统?

maven - Checkstyle来测试XML文件?

java - 用于公开 Neo4j 节点的 REST 接口(interface)实现

Java - MDB - 如何避免并发问题