我使用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它似乎不想使用<运算符进行比较。这是别人常犯的错误吗?我还没有找到任何关于如何修复它的东西,所以任何帮助都将不胜感激!
发布于 2013-04-25 00:17:10
你使用的是什么版本的DROOLS?
这似乎是一个被修复的错误:https://issues.jboss.org/browse/DROOLS-37?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
https://stackoverflow.com/questions/16196346
复制相似问题