我有一个maven项目A
,它使用了一些Java库B
,这是POM中的依赖关系。该库使用了一些使用库C
的其他库D
。在编译A
和C
正在使用该库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
情况?
答案 0 :(得分:0)
这是Java类路径的更多问题。 如果您通过cmd行运行,没有Maven,您的方案是否可行? (即运行您的应用程序,并手动指定您的类路径)。
如果答案是肯定的,那么你可能可以在Maven中做到;但是我从你的描述中得到的理解是,不能,你无法通过cmd线运行。