Joda-时间比较NoSuchMethod

时间:2013-04-24 15:42:01

标签: java jodatime drools

我正在使用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;运营商。这是其他人得到的常见错误吗?我还没有找到任何关于如何解决它的问题,所以任何帮助都将非常感谢!

1 个答案:

答案 0 :(得分:1)

您使用的是什么DROOLS版本?

这似乎是一个修复过的错误: https://issues.jboss.org/browse/DROOLS-37?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel