最近使用Eclipse官方的报表工具开发,好歹完成了任务,期间真是各类怒!下面稍微汇总下BIRT报表使用出现的问题: javascript
1. OutOfMemoryError: PermGen space: java
这是个奇葩的异常,用Eclipse+Tomcat 启动就会抛出这个异常,OK,这个问题对于开发者来讲是很容易解决的,改下Tomcat配置,发现不行!Eclipse运行内存加大,不行!JDK缓存配置加大,不行!各类不行,哥彻底误解了,后来实在无聊的时候,抛开Eclipse,直接运行Tomcat/bin/startup.bat,奇葩,能够了!好吧,至今没找到缘由!(求解释!) express
另:其实这个BUG,在03年就有人向SUN公司提了,因此找到了这句好玩的话: OutOfMemoryError: PermGen space----A bug this critical is open since 2003? Absolutely shameful. 缓存
2. 版本不匹配报错!此种错误通常是由于你的Eclipse插件版本和项目使用的BIRT核心包版本不匹配形成的! eclipse
若是老是报你的相关目录底下没有找到报表文件,那么你能够象这样尝试解决:
工具
a. 修改以下两行:(下面代码仅作参考)
this
<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> spa
b. 你的Eclipse插件编辑工具,生成了目前你项目没法识别的XML代码:
插件
如:我在项目中碰到了增长HyperLink类型是drill-through,往上设置参数时,加载报表报找不到报表的错误。
xml
项目的报表引擎可以识别的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了!