如何为每个JAR

时间:2017-06-07 15:03:18

标签: java maven jar dependencies version

我有一个maven项目A,它使用了一些Java库B,这是POM中的依赖关系。该库使用了一些使用库C的其他库D。在编译AC正在使用该库D但不同版本的情况下,会出现问题。它看起来像这样:

A ----- B
|       |
D(v1)   C
        |
        D(v2)

A无法将其依赖关系更改为D(v2),但如果我在D(v2)的POM中排除A

<dependency>
    <groupId>...</groupId>
    <artifactId> C </artifactId>
    <exclusions>
        <exclusion>
            <groupId>...</groupId>
            <artifactId> D </artifactId>
            <version> v2 </version>
        </exclusion>
    </exclusions>
</dependency>

我会收到编译错误,因为某些类 MissingClass 未在类C中解析。最烦人的事情是只有D(v2)缺少类

我对Maven的熟练程度不高,所以有没有办法让Maven在D(v1)的情况下使用A依赖,在D(v2)中使用B情况?

1 个答案:

答案 0 :(得分:0)

这是Java类路径的更多问题。 如果您通过cmd行运行,没有Maven,您的方案是否可行? (即运行您的应用程序,并手动指定您的类路径)。

如果答案是肯定的,那么你可能可以在Maven中做到;但是我从你的描述中得到的理解是,不能,你无法通过cmd线运行。