Spring boot OptaPlanner-在Spring引导应用程序中找不到SolverManager和SolverManager类型的bean

Spring boot OptaPlanner-在Spring引导应用程序中找不到SolverManager和SolverManager类型的bean,spring-boot,optaplanner,Spring Boot,Optaplanner,我添加了optaplanner spring boot starter对spring boot应用程序的依赖关系,但在Intellij上未找到注入的SolverManager和ScoreManagerbean *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of method myBusinessBeanAPI in my

我添加了
optaplanner spring boot starter
spring boot应用程序的依赖关系,但在Intellij上未找到注入的
SolverManager
ScoreManager
bean

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of method myBusinessBeanAPI in 
mypackage.MyRestResource required a bean 
of type 'org.optaplanner.core.api.solver.SolverManager' that could not be found.


Action:

Consider defining a bean of type 'org.optaplanner.core.api.solver.SolverManager' in your 
configuration.
如何解决这个问题?

在中,它说在Quarkus和Spring引导中,SolverManager实例会自动注入到您的代码中。否则,使用create(…​) 方法:


我已经用相同的版本添加了这个依赖项,但是我还没有使用
create
方法。我会尝试告诉你。谢谢。但是我不想在配置中使用xml。对不起,optplanner是一个可传递的依赖项。我将它添加到模块的pom中,因为注入了解算器并且它可以工作。谢谢。你不应该这样做必须在Spring启动时调用
SolverManager.create()
(事实上,如果您像上面那样做,您的类加载器设置不正确)。如果您将
optaplanner spring boot starter
添加到pom.xml中,则
@Autowired
应该可以正常工作。注入SolverManager/ScoreManager应该可以正常工作。您在IntelliJ中的意思是什么?您从哪里获得此日志?我们如何复制它?正如我告诉Abhinabacharaborty的,Optaplanner dependency是可传递的,我将其添加到模块的pom中,然后注入解算器并使其工作。谢谢!关于我的信息,您是否介意详细说明您需要添加的依赖项的确切
artifactId
?通常,只有
optaplanner spring boot starter
才可以完成此操作(无需添加
optaplanner core
)。是的,我就是这么做的。感谢大家看一看
CloudBalancingConstraintProviderTest
。那些单元测试可以测试约束,而无需运行解算器。在我看来,运行解算器的单元测试应该注入解算器管理器,否则您的测试可能会偏离您投入生产的内容。也就是说,可以o使用create()方法也可以按照您建议的方式进行操作。
SolverConfig solverConfig = SolverConfig.createFromXmlResource(".../cloudBalancingSolverConfig.xml");
SolverManager<CloudBalance, UUID> solverManager = SolverManager.create(solverConfig, new SolverManagerConfig());
<dependencies>
...
<dependency>
            <groupId>org.optaplanner</groupId>
            <artifactId>optaplanner-spring-boot-starter</artifactId>
</dependency>
...
</dependencies>
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.optaplanner</groupId>
                <artifactId>optaplanner-spring-boot-starter</artifactId>
                <version>7.38.0.Final</version>
            </dependency>
        </dependencies>
</dependencyManagement>
compile 'org.optaplanner:optaplanner-spring-boot-starter:7.38.0.Final'