从Optaplanner迁移至Timefold后出现Spring启动错误的解决咨询
问题解决:Timefold与Spring Boot版本不兼容导致启动错误
错误原因
你遇到的启动错误源于Timefold Solver 1.16.0与Spring Boot 3.0.7版本不兼容。Timefold 1.16.0的Spring Boot自动配置类依赖Spring Boot 3.2+版本的BeanFactoryPostProcessor接口实现逻辑,而Spring Boot 3.0.x的该接口定义存在差异,导致类实现不匹配。
修复方案
有两种可行的修复方式:
方式1:升级Spring Boot到兼容版本
将Spring Boot版本升级至3.2.x系列(推荐3.2.5或更高稳定版),该版本与Timefold 1.16.0完全兼容。修改pom.xml中的版本配置:
<version.org.springframework.boot>3.2.5</version.org.springframework.boot>
方式2:降级Timefold Solver到适配Spring Boot 3.0.x的版本
若暂时无法升级Spring Boot,可将Timefold Solver版本降级至1.13.0,该版本是适配Spring Boot 3.0.x系列的最后一个稳定版。修改pom.xml中的版本配置:
<version.ai.timefold.solver>1.13.0</version.ai.timefold.solver>
验证步骤
修改版本后,执行mvn clean install重新编译项目,再启动应用即可验证错误是否修复。
内容的提问来源于stack exchange,提问作者Markus Deibel




