我正在使用 joda-time 来跟踪 Drools 文件中几种不同类型的日期(DateTime 和 DateMidnight)。作为 when 条件的一部分,我获取对象的日期,然后比较所有其他对象的日期以确保没有更新的对象。日期格式相同 (DateTime),但当我尝试通过 Tomcat 向其发送有效负载时,我始终收到以下错误:
Caused by: java.lang.NoSuchMethodError: org.joda.time.DateTime.compareTo(Lorg/joda/time/DateTime;)
at edu.measure.growth.Rule_assume_first_measurement_is_valid586933554.defaultConsequence(Rule_assume_first_measurement_is_valid586933554.java:7)
at edu.measure.growth.Rule_assume_first_measurement_is_valid586933554DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
at edu.measure.growth.Rule_assume_first_measurement_is_valid586933554DefaultConsequenceInvoker.evaluate(Unknown Source)
这是它在错误日志中引用的规则:
rule "assume first measurement is valid"
when
// consider all measurements that have not been validated
$m: Measurement($type: parameter, valid == false, $dt: date)
// verify no measurements occur after target date
not Measurement(parameter == $type, date<$dt))
then
modify($m) {setValid(true);}
end
似乎不想使用 < 运算符进行比较。这是其他人遇到的常见错误吗?我一直无法找到有关如何修复它的任何信息,因此将不胜感激任何帮助!