在Grails2.5中使用BIRT 3.7时返回NoSuchMethodError

在Grails2.5中使用BIRT 3.7时返回NoSuchMethodError,grails,birt,Grails,Birt,我们在Grails应用程序中使用BIRT 3.7已有3年了。我们决定从Grails 2.3.11升级到2.5,我们的BIRT报告现在出现以下错误: SEVERE: Error happened while running the report. java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/lang/String;Ljava/lang/String;I)Lorg/mozilla/javascrip

我们在Grails应用程序中使用BIRT 3.7已有3年了。我们决定从Grails 2.3.11升级到2.5,我们的BIRT报告现在出现以下错误:

SEVERE: Error happened while running the report.  
java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/lang/String;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode;
    at org.eclipse.birt.core.data.ExpressionParserUtility.parse(ExpressionParserUtility.java:184)
    at org.eclipse.birt.core.data.ExpressionParserUtility.compileColumnExpression(ExpressionParserUtility.java:77)
.....

我假设Grails中发生了一些变化。该报告在Grails2.3.11中运行良好。

我通过在
BuildConfig.groovy
中更改以下行来解决它:

compile ":asset-pipeline:2.3.9"
为此:

compile(":asset-pipeline:2.3.9") {
    excludes 'rhino'
}

我通过更改
BuildConfig.groovy
中的以下行解决了这个问题:

compile ":asset-pipeline:2.3.9"
为此:

compile(":asset-pipeline:2.3.9") {
    excludes 'rhino'
}

升级grails时,通常也需要升级插件。我建议升级到birt 4.3.0。从那里开始,谢谢你的建议。事实证明这不是BIRT/Grails的问题。这是一个BIRT/资产问题。很高兴你@DennLindy解决了它,但是怎么解决呢??!!!升级grails时,通常也需要升级插件。我建议升级到birt 4.3.0。从那里开始,谢谢你的建议。事实证明这不是BIRT/Grails的问题。这是一个BIRT/资产问题。很高兴你@DennLindy解决了它,但是怎么解决呢??!!!