Timefold for Quarkus在GraalVM原生镜像中加载solverConfig.xml报错
解决Timefold for Quarkus原生镜像评分接口报错问题
在Windows环境基于GraalVM开发Timefold for Quarkus的REST API,已实现/evaluate POST接口用于仅计算评分(不执行求解任务)。JVM环境下通过mvn quarkus:dev运行完全正常,但构建为原生镜像后调用该接口时触发报错:
The scoreDirectorFactory lacks configuration for either constraintProviderClass, easyScoreCalculatorClass or incrementalScoreCalculatorClass
同时伴随JAXB相关类加载异常。
通过以下步骤可解决问题:
- 移除项目中不必要的
reflect-config.json文件 - 删除
solverConfig.xml内的<scoreDirectorFactory>、<solutionClass>、<entityClass>节点,同时删除application.properties中的quarkus.timefold.solver.score-director-factory.constraint-provider-class配置项 - 在
StaffScheduleResource.java中通过@Inject注入SolverManager、SolutionManager、SolverFactory的CDI代理实例 - 直接使用注入的
SolutionManager完成评分分析,不再手动创建实例
内容的提问来源于stack exchange,提问作者tsushimaru
相关产品推荐
相关产品推荐

