2

我遇到了这个问题,我认为它是由一些依赖于旧版本速度的库引起的。我的 pom 明确要求速度的正确版本,但我认为其他一些依赖项正在传递旧版本的速度,而这正在我的类路径中使用。

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

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

$ 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 顺便说一句,但我希望这并不重要,因为它具有大多数可用的命令。

4

2 回答 2

4

我认为这应该对您有所帮助(取自Resolving conflict using the dependency tree

mvn dependency:tree -Dverbose -Dincludes=velocity

如果这没有帮助,我更喜​​欢过滤依赖而不是 grep(取自过滤依赖树

mvn dependency:tree -Dincludes=velocity:velocity
于 2013-08-20T22:28:35.247 回答
1

cheffe 的回答很好。

除此之外,我经常使用的另一个解决方案涉及egrep,基本上是当我想看到更大的图景时。

mvn dependency:tree -Dverbose | egrep --color 'velocity|$'

优点:

  • 彩色输出
  • 单词的部分匹配(因为它只是 grep)。

缺点:

  • 输出的详细程度
于 2017-12-28T19:21:06.150 回答