一、背景

在开发项目时依赖了新的jar包,结果工程启动时报错了,此时应该是包依赖冲突的问题。

二、确定冲突的依赖包

执行mvn clean install,通过报错信息来确定冲突的jar包信息

三、排除冲突包的方案

有两种冲突的情况:

1)新jar包和工程中老jar包的冲突

2)新jar包内部子jar包之间存在冲突

1、新老jar包冲突排除

whale-dao是加入前已在使用的jar包,ali-langengine-xx是后加入的jar包,现在需要排除ali-langengine-xx中冲突的jar包。

 <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>ali-langengine-vectorstore</artifactId>
    <version>1.0.10-SNAPSHOT</version>
       <exclusions>
          <exclusion>
             <groupId>com.google.protobuf</groupId>
             <artifactId>protobuf-java</artifactId>
          </exclusion>
       </exclusions>
 </dependency>

2、新jar包内部子jar包之间冲突排除

此时的解法是:ali-language-core中排除掉冲突包,然后在外部再新加一个依赖包。

<dependency>
   <groupId>commons-collections</groupId>
   <artifactId>commons-collections</artifactId>
   <version>3.2.2</version>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>ali-langengine-core</artifactId>
    <version>1.0.10-RELEASE</version>
    <exclusions>
        <exclusion>
           <groupId>commons-collections</groupId>
           <artifactId>commons-collections</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐