BIRT报表使用中碰到的两个问题

自闭症网瘾萝莉.ら 提交于 2019-11-29 14:14:08

最近使用Eclipse官方的报表工具开发,好歹完成了任务,期间真是各种怒!下面稍微汇总下BIRT报表使用出现的问题:

1. OutOfMemoryError: PermGen space

        这是个奇葩的异常,用Eclipse+Tomcat 启动就会抛出这个异常,OK,这个问题对于开发者来说是很容易解决的,改下Tomcat配置,发现不行!Eclipse运行内存加大,不行!JDK缓存配置加大,不行!各种不行,哥完全误解了,后来实在无聊的时候,抛开Eclipse,直接运行Tomcat/bin/startup.bat,奇葩,可以了!好吧,至今没找到原因!(求解释!)

        另:其实这个BUG,在03年就有人向SUN公司提了,所以找到了这句好玩的话:                                   OutOfMemoryError: PermGen space----A bug this critical is open since 2003? Absolutely shameful.

2. 版本不匹配报错!此种错误一般是因为你的Eclipse插件版本和项目使用的BIRT核心包版本不匹配造成的!

        如果总是报你的相关目录底下没有找到报表文件,那么你可以象这样尝试解决:

        a. 修改如下两行:(下面代码仅做参考)

            <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.21" id="1">
            <property name="createdBy">MyEclipse Report Designer Version 8.0.0</property>

       b. 你的Eclipse插件编辑工具,生成了目前你项目无法识别的XML代码:

            如:我在项目中碰到了增加HyperLink类型是drill-through,往上设置参数时,加载报表报找不到报表的错误。

         项目的报表引擎能够识别的XML格式是如下情况:

        <structure>
            <property name="paramName">kssj</property>
            <expression name="expression" type="javascript">params["kssj"].value</expression>
         </structure>

          而使用当前Eclipse工具配置时,生成的XML是如下情况:
          <structure>
                <property name="paramName">kssj</property>
                <simple-property-list name="expression">
                              <value type="javascript">params["kssj"].value</value>
                 </simple-property-list>
           </structure>
    以上差异导致不能识别,手动更改后就OK了!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!