【发布时间】:2014-07-07 05:46:20
【问题描述】:
这对我来说听起来像是一个普遍的问题,所以我想知道是否有一种通用的推荐方法来处理这些情况,而不管使用的是什么构建/依赖管理工具(在我的例子中是 Gradle)。我可以想象无论构建工具如何都会出现这个问题,即使是在一个手动处理少量依赖项并且只是使用 Java 使用 jar 命令构建的小项目中也是如此。
我的 Java 项目使用 Velocity 1.7,因此它的类路径中有 Velocity 1。7 JAR。
然而,这个项目也使用 ReportNG,它依赖于 Velocity 1。4(它甚至在其清单中有条目 Class-Path: velocity-dep-1.4.jar,而且其下载的 zip 包含 @ 987654324@ 及其home page 明确提到velocity-dep-1.4.jar 必须在类路径中)。
我想知道如何避免在我的类路径中包含两个 Velocity 版本的 JAR,这可能是我看到的奇怪行为的原因,而且在任何情况下听起来都不是一个好主意。
我将尝试让 ReportNG 使用 Velocity 1.7 而不是 1.4,但这不一定有效,如果有处理这些情况的干净方法,我想避免这样做。
【问题讨论】:
-
在构建路径中是否还有其他不需要的 jar?
-
不,虽然我不清楚为什么这很重要。但是我不确定我是否可以说这些 Velocity JAR 中的任何一个都是不必要的:项目本身需要 1.7 的 JAR,而只有 ReportNG 需要 1.4 的。
标签: java jar velocity dependency-management reportng