100分求解:在portlet中使用BIRT写WORD文档时抛出java.awt.HeadlessException

lilVon 2007-06-15 11:49:05
问题比较复杂
我在做的项目使用了如下组件:
liferay portal 4.1
birt 2.2rc0
jdk版本为1.5

在使用birt写word文档时出现了以下异常:
Caused by: java.lang.ExceptionInInitializerError
at org.eclipse.birt.report.engine.emitter.wpml.WordEmitter.accountPageProp(WordEmitter.java:348)
at org.eclipse.birt.report.engine.emitter.wpml.WordEmitter.startPage(WordEmitter.java:193)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.start(HTMLPageLM.java:188)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:138)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:84)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:90)
at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:532)
at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:254)
... 178 more
Caused by: java.awt.HeadlessException
at sun.awt.HeadlessToolkit.getScreenResolution(HeadlessToolkit.java:189)
at org.eclipse.birt.report.engine.emitter.wpml.WordUtil.<clinit>(WordUtil.java:19)
... 186 more
15:36:39,187 ERROR [jsp:52] java.awt.HeadlessException
at sun.awt.HeadlessToolkit.getScreenResolution(HeadlessToolkit.java:189)
at org.eclipse.birt.report.engine.emitter.wpml.WordUtil.<clinit>(WordUtil.java:19)
at org.eclipse.birt.report.engine.emitter.wpml.WordEmitter.accountPageProp(WordEmitter.java:348)
at org.eclipse.birt.report.engine.emitter.wpml.WordEmitter.startPage(WordEmitter.java:193)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.start(HTMLPageLM.java:188)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:138)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:84)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:90)
at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:532)
at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:254)
at com.siemens.smc.portlet.example.ExamplePortlet.doView(ExamplePortlet.java:184)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.siemens.smc.portlet.common.filter.SetUserToSessionFilter.doFilter(SetUserToSessionFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

请教解决方案,不胜感激!
...全文
367 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivy0221 2008-06-20
  • 打赏
  • 举报
回复
欢迎访问:http://www.actuatechina.com/
欢迎踊跃提问与交流关于BIRT的问题,我们的工程师会在第一时间给您答复,谢谢使用。
lilVon 2007-06-17
  • 打赏
  • 举报
回复
已经解决了。。。其实在有显示环境的地方要设置成false。。。。。。。。。。
lilVon 2007-06-16
  • 打赏
  • 举报
回复
谢谢楼上。。。问题主要是解决java.awt.HeadlessException
我搜了一下,基本上说是要在应用服务器的启动参数里加上-Djava.awt.headless=true
或者在servlet的init方法里加上System.setPorperty("java.awt.headless","true");
但是这两种方法我试了都不行
CathySun118 2007-06-16
  • 打赏
  • 举报
回复
太长了,说说解决办法
郭大侠_ 2007-06-15
  • 打赏
  • 举报
回复
只能帮你顶一下了

5,657

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧