我正在使用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
似乎不想使用&lt;运营商。这是其他人得到的常见错误吗?我还没有找到任何关于如何解决它的问题,所以任何帮助都将非常感谢!
答案 0 :(得分:1)
您使用的是什么DROOLS版本?
这似乎是一个修复过的错误: https://issues.jboss.org/browse/DROOLS-37?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel