java - 在 Maven 中,我如何发现依赖于特定依赖项的内容?

标签 java linux maven maven-3

我有this problem我认为这是由某些库根据旧版本速度传递引起的。我的 pom 明确要求正确版本的速度,但我认为其他一些依赖项正在传递旧版本的速度,而这正在我的类路径中使用。

我知道 mvn dependency:tree,但在复杂的项目中,这可能会输出非常高、难以阅读的树。例如,这比我想弄清楚什么取决于速度 1.5 更需要思考。

所以我想,“grep 来救援”。但这没有帮助,因为我得到了这个输出:

$ mvn dependency:tree | grep velocity
[INFO] |  |  +- velocity:velocity:jar:1.5:compile
[INFO] |  |  |  +- velocity:velocity:jar:1.5:compile
[INFO] |  |  |  +- velocity:velocity:jar:1.5:compile
[INFO] +- org.apache.velocity:velocity:jar:1.6.3:compile
[INFO] +- org.apache.velocity:velocity-tools:jar:2.0:compile
[INFO] |  +- velocity:velocity:jar:1.5:compile
[INFO] |  |  +- velocity:velocity:jar:1.5:compile
[INFO] +- org.apache.velocity:velocity-tools:jar:2.0:compile
[INFO] |  \- org.apache.velocity:velocity:jar:1.6.3:compile (version managed from 1.6.2)
[INFO] |  |  |  +- velocity:velocity:jar:1.5:compile
[INFO] |  +- org.apache.velocity:velocity-tools:jar:2.0:provided
[INFO] |  |  \- org.apache.velocity:velocity:jar:1.6.3:provided (version managed from 1.6.2)
[INFO] |  |  |  +- velocity:velocity:jar:1.5:provided
[INFO] |  +- org.apache.velocity:velocity-tools:jar:2.0:provided
[INFO] |  |  \- org.apache.velocity:velocity:jar:1.6.3:provided (version managed from 1.6.2)
[INFO] |  +- org.apache.velocity:velocity-tools:jar:2.0:provided
[INFO] |  |  \- org.apache.velocity:velocity:jar:1.6.3:provided (version managed from 1.6.2)
[INFO] |  |  |  +- velocity:velocity:jar:1.5:compile
[INFO] |  +- org.apache.velocity:velocity:jar:1.6.3:compile (version managed from 1.6.3)
[INFO] |  +- org.apache.velocity:velocity-tools:jar:2.0:compile (version managed from 2.0)
[INFO] |  |  +- velocity:velocity:jar:1.5:compile

我不知道什么真正取决于那里的第一速度 1.5。 maven 是否为 dependency:tree 提供一些参数以使我的生活更轻松?或者是否有一些巧妙的技巧可以与 shell 命令一起使用来解决这个问题?顺便说一句,我正在使用 cygwin,但我希望这并不重要,因为它拥有大部分可用的命令。

最佳答案

我认为这应该对您有帮助(摘自 Resolving conflicts using the dependency tree )

mvn dependency:tree -Dverbose -Dincludes=velocity

如果这没有帮助,我更喜​​欢过滤依赖关系而不是 grep (取自 Filtering the dependency tree )

mvn dependency:tree -Dincludes=velocity:velocity

关于java - 在 Maven 中,我如何发现依赖于特定依赖项的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345759/

相关文章:

java - 如何在 GWT maven 项目中使用一个简单的 maven 项目作为依赖项?

java - 来自数组的 EnumSet,最短的变体?

java - BlueJ - 'no suitable method found' 用于排序方法

linux - 在没有 IP SAN 的情况下使用带有 SSL 证书的 Docker 注册表

c++ - epoll_wait 即使带有 EPOLLET 标志也返回 EPOLLOUT

maven - 使用 Spring Boot 和嵌入式驱动程序测试 Neo4j

xml - 如何在 Maven 中关闭 findbugs "Redundant nullcheck"?

java - 当存在非空连续元素时需要反转数组的逻辑

java - 如何从 selenium rc 生成结果

c++ - C++ 跨平台的 Base64 编码/解码库?