You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

kie-server-client与optaplanner-spring-boot-starter依赖冲突求助

问题:同时引入kie-server-client与optaplanner-spring-boot-starter的兼容问题

当同时引入以下两个Maven依赖时:

<dependency>
  <groupId>org.kie.server</groupId>
  <artifactId>kie-server-client</artifactId>
</dependency>

<dependency>
  <groupId>org.optaplanner</groupId>
  <artifactId>optaplanner-spring-boot-starter</artifactId>
</dependency>

出现Spring上下文初始化异常:

Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'solverManager' defined in class path resource [org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.class]: Unsatisfied dependency expressed through method 'solverManager' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'solverFactory' defined in class path resource [org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.optaplanner.core.api.solver.SolverFactory]: Factory method 'solverFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: org/drools/core/reteoo/CoreComponentFactory

解决方案

1. 统一KIE生态依赖版本

kie-server-client和OptaPlanner同属KIE技术栈,版本不匹配是引发依赖冲突的核心原因,必须确保两者使用完全一致的版本:

  • 先执行mvn dependency:tree命令,查看OptaPlanner starter对应的KIE版本
  • 为kie-server-client指定相同版本:
<dependency>
  <groupId>org.kie.server</groupId>
  <artifactId>kie-server-client</artifactId>
  <version>${optaplanner.version}</version> <!-- 与OptaPlanner版本保持一致 -->
</dependency>

<dependency>
  <groupId>org.optaplanner</groupId>
  <artifactId>optaplanner-spring-boot-starter</artifactId>
  <version>${optaplanner.version}</version>
</dependency>

2. 排除冲突依赖(按需使用)

若统一版本后仍存在依赖冲突,可通过Maven依赖树定位冲突的drools相关依赖,在kie-server-client中排除:

<dependency>
  <groupId>org.kie.server</groupId>
  <artifactId>kie-server-client</artifactId>
  <version>${optaplanner.version}</version>
  <exclusions>
    <exclusion>
      <groupId>org.drools</groupId>
      <artifactId>drools-core</artifactId>
    </exclusion>
    <!-- 根据实际冲突情况添加其他排除项 -->
  </exclusions>
</dependency>

3. 手动补充缺失依赖

异常提示缺少org.drools.core.reteoo.CoreComponentFactory,说明drools-core依赖未被正确引入。若统一版本后仍缺失,可手动添加该依赖:

<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-core</artifactId>
  <version>${optaplanner.version}</version>
</dependency>

内容的提问来源于stack exchange,提问作者Fotios

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 02:55:18