【发布时间】:2014-03-05 23:06:46
【问题描述】:
我们正在尝试将 BIRT 插件集成到我们的应用程序中,并且似乎遇到了与 BIRT 运行引擎使用的 javascript 依赖项和引导框架使用的一些冲突。
如果你都安装了,你会得到一个错误,比如
Error |
2014-03-05 16:02:40,228 [http-bio-8080-exec-3] ERROR impl.ReportEngine - Error happened while running the report.
Message: org.mozilla.javascript.Parser.parse(Ljava/lang/String;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode;
环顾网络,很多帖子都指向与称为 Rhino 的 javascript 库的冲突。
我对这里的任何人的问题是如何解决这些依赖冲突?上面的链接 2 表明它是通过将依赖项放入 lib 文件夹来修复的。我已经下载了 rhino1_7R4 并将其解压缩到 lib 文件夹中,但我对如何解决问题有点迷茫。
要轻松复制问题,请在 grails birt 插件页面 http://grails.org/plugin/birt-report 上下载示例应用程序,并将 kickstart 插件添加到应用程序中。一旦石英作业尝试运行,它就会爆炸。
有什么想法吗?
堆栈跟踪:
2014-03-06 08:37:29,395 [http-bio-8080-exec-10] ERROR impl.ReportEngine - Error happened while running the report.
Message: org.mozilla.javascript.Parser.parse(Ljava/lang/String;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode;
Line | Method
->> 184 | parse in org.eclipse.birt.core.data.ExpressionParserUtility
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 77 | compileColumnExpression in ''
| 116 | hasAggregation . . . . . . in ''
| 308 | hasAggregation in org.eclipse.birt.core.data.ExpressionUtil
| 229 | hasAggregationInFilter . . in org.eclipse.birt.report.engine.adapter.ExpressionUtil
| 234 | hasAggregationInFilter in ''
| 164 | addConditionalExprBindings in ''
| 102 | prepareTotalExpressions in ''
| 2034 | getNewExpressionBindings . in org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor
| 1709 | transformExpressions in ''
| 1694 | transformExpressions . . . in ''
| 1211 | visitRow in ''
| 108 | accept . . . . . . . . . . in org.eclipse.birt.report.engine.ir.RowDesign
| 256 | build in org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder
| 1097 | handleListingBand . . . . in org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor
| 947 | visitTableItem in ''
| 53 | accept . . . . . . . . . . in org.eclipse.birt.report.engine.ir.TableItemDesign
| 256 | build in org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder
| 237 | build . . . . . . . . . . in ''
| 180 | prepare in org.eclipse.birt.report.engine.data.dte.AbstractDataEngine
| 122 | execute . . . . . . . . . in org.eclipse.birt.report.engine.executor.ReportExecutor
| 60 | execute in org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor
| 42 | execute . . . . . . . . . in org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor
| 60 | execute in org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor
| 61 | execute . . . . . . . . . in org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportExecutor
| 179 | doRun in org.eclipse.birt.report.engine.api.impl.RunAndRenderTask
| 77 | run . . . . . . . . . . . in ''
| 572 | runAndRender in com.itjw.grails.birt.BirtReportService
| 535 | runAndRender . . . . . . . in ''
| 236 | doCall in package.ReportController$_closure1
| 195 | doFilter . . . . . . . . . in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter in grails.plugin.cache.web.filter.AbstractFilter
| 53 | doFilter . . . . . . . . . in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
| 49 | doFilter in grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter
| 82 | doFilter . . . . . . . . . in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
| 76 | doFilter in org.jasig.cas.client.session.SingleSignOutFilter
| 1145 | runWorker . . . . . . . . in java.util.concurrent.ThreadPoolExecutor
| 615 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 724 | run . . . . . . . . . . . in java.lang.Thread
【问题讨论】:
-
您使用什么版本的 grails?你用什么插件来减少编译? yui-缩小?
-
该项目使用 Grails 2.3.4 构建。 Less 正在编译为 Bootstrap 框架的一部分。
标签: javascript twitter-bootstrap grails birt