我部署了具有以下依赖项的jar A:
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>3.3.1.RELEASE</version>
</dependency>
我还有另一个项目B和项目C都依赖于A。因此结构如下:
B -> A -> reactor-core
C -> A -> reactor-core
问题在于项目B和项目C中的反应堆堆芯版本不同。在项目B中,其版本为2.0.8。在C中是3.3.1。 实际上,我已经在项目A中排除了2.0.8版本。我不知道为什么它仍会出现。
答案 0 :(得分:2)
不使用排除。他们很难管理。
查看依赖关系树(docker build - < Dockerfile
)。您将在不同位置mvn dependency:tree
使用不同版本。 Maven会“调解”这棵树并选择“最近”的版本。
如果您不希望出现这种情况(实际上,您通常不希望这样做),请在reactor-core
中输入正确的版本。这将覆盖所有传递版本,您将获得所需的版本。为此,您不需要。