无法自动连线栏位:私人org.optaplanner.core.api.solver.SolverManager

问题描述

我想在我的spring mvc项目中使用Optaplanner。我得到了这个例外:remove()

这是我的服务:

Could not autowire field: private org.optaplanner.core.api.solver.solverManager

这是我对pom的依赖:

public class ServiceTiMetableImpl implements IServiceTiMetable {

    IDaoTiMetable dao;

    public static final Long SINGLetoN_TIME_TABLE_ID = 1L;

    @Autowired
    private SolverManager<TiMetable,Long> solverManager;
    
    @Autowired
    scoreManager<TiMetable> scoreManager;

}

孔例外是:

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

解决方法

这很奇怪,optaplanner-spring-boot-starter应该会自动公开它。您可以尝试升级到最新版本(7.43.0.Final),该版本进行了一些改进,但我怀疑这样做会有所帮助。

尝试在OptaPlannerAutoConfiguration中放置一个断点以查看其是否处于活动状态。并非只有在使用Spring Boot时才有效,而不仅仅是Spring。