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 字段使用字段访问。
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 字段使用字段访问。