java - OptaPlanner,为什么调试时没有打断点的例子
问题描述
OptaPlanner 新手,想在 Eclipse 中调试示例任务分配来学习。发现只有在UI相关代码调用代码时才会打断点,比如
org.optaplanner.examples.taskassigning.domain.Affinity(int durationMultiplier)
org.optaplanner.examples.taskassigning.domain.TaskAssigningSolution.getEmployeeList()
当在以下位置设置断点时:
org.optaplanner.examples.taskassigning.domain.TaskAssigningSolution.setEmployeeList(List<Employee> employeeList)
它不会被击中。我的问题是,为什么没有命中断点?断点如何被击中?
解决方案
像 TaskAssigningSolution 这样的解决方案正在计划通过对字段的反射进行克隆(请参阅文档了解这是什么)。见FieldAccessingSolutionCloner
。您可以编写自己的解决方案克隆器来避免这种行为(但是正确编写很容易出错)。
我们有一个 RFE 运行来支持诸如 accessFieldsThroughGetterSetters=true 之类的东西,以便对 JDK 17 更加友好,这将迫使 OptaPlanner 永远不要对非公共字段使用字段访问。
推荐阅读
- react-native - 反应本机实现堆栈导航错误
- scala - 如何连接两个数据集
在 Spark Scala 中,当一个键按顺序排列时没有爆炸 - local-storage - localstorage 中使用的变量未定义
- c# - 禁止开发人员在解决方案中使用对象
- c# - Web.Config - 特定文件的静态内容客户端缓存设置
- swift - 未定义属性列表的平等协议实现?
- c# - 如何在 Asp.net MVC Web 应用程序 C# 中上传文件时显示进度?
- r - 如何在 R 中生成交互式“画面风格”热图,其中两个因素作为轴标签
- extjs - 重新排列 Tinymce 上的按钮
- c++ - lnk1114 无法覆盖原文件“xxx.lib”,错误码32