Java Maven运行时依赖项

Java Maven运行时依赖项,java,maven,Java,Maven,我有两个存根jar,比如B.jar和C.jar,它们有共同的XyZ.class。pom中的依赖项如下: <dependency> <groupId>pack.y.b</groupId> <artifactId>B</artifactId> <version>1.0</version> </dependency> <de

我有两个存根jar,比如B.jar和C.jar,它们有共同的XyZ.class。pom中的依赖项如下:

 <dependency>
            <groupId>pack.y.b</groupId>
            <artifactId>B</artifactId>
            <version>1.0</version>
 </dependency>
 <dependency>
            <groupId>pack.y.b</groupId>
            <artifactId>C</artifactId>
            <version>1.0</version>
 </dependency>

包,y.b
这确实是它的行为方式,即在本地,我从B.jar正确地加载XyZ.class,如果B不可用,则从C加载。

相反,在部署后的运行时,类是从C而不是B中提取的,我不知道为什么会发生这种情况以及如何纠正。请澄清并给予支持

如何部署?您是否使用mvn exec:java
?还是构建一个胖罐子(带依赖项的罐子)?还是在单独的目录中创建具有依赖项的自定义程序集?如果可能,请尽量避免“双重类”。效果很难管理。@cello I与部署没有任何关系。我纯粹从事发展工作。对不起。@JFMeier是的,我实际上已经删除了C依赖项本身。但我仍然不明白C是如何在B之前首先访问的,尽管顺序是正确的,比如,正确的jar放在第一位。POM只定义了在编译时如何加载依赖项。如果包装成war/ear,行为可能会有所不同