OptaPlanner,调试例子时为什么打不到断点

OptaPlanner, why break point is not hit when debugging example

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 从不对非 public 字段使用字段访问。