【问题标题】:Grails project with both BIRT and Kickstart plugin带有 BIRT 和 Kickstart 插件的 Grails 项目
【发布时间】: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 库的冲突。

  1. Disable grails 2.0 resources processing, after deploy

  2. Grails yui-minify-resources and lesscss-resources conflict

  3. https://bugs.eclipse.org/bugs/show_bug.cgi?id=351482

我对这里的任何人的问题是如何解决这些依赖冲突?上面的链接 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


【解决方案1】:

我解决了从kickstart插件中排除rhino jar的问题,另外,我必须在Bootstrap.groovy中删除uglify插件>插件:

compile (":kickstart-with-bootstrap:1.1.0") {
    excludes 'rhino'
}

【讨论】:

    【解决方案2】:

    我还没有尝试使用 kickstart-with-bootstrap,但我在使用资产管道和 grails-birt-plugin 时遇到了同样的问题。并执行以下修复它

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

    刷新 grails 依赖项。

    【讨论】:

      猜你喜欢
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多