- - PR -
Linux環境でのPDF生成不具合
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-11 20:49
【JDK】1.4.2_09
【tomcat】5.0.28 【apache】2.0.46 【iReport】iReport-0.5.3 jasperReport-1.1.1 iText-1.3.1 iTextAsian 上記の環境で、eclipse+JSF(FacesIDE0.1.9)でwebアプリの開発をしております。 WindowsXPでPDF生成を行えることは確認できたのですが、それをプロジェクト毎 RedHat ES3に移して実行したところ下記のエラーが出てしまいました。(その他の 部分に関しては問題なく動いてます。) ※※※エラー内容※※※ 2006-01-11 16:46:51 StandardWrapperValve[Faces Servlet]: サーブレット Faces Servlet のServlet.service()が例外を投げまし た javax.faces.FacesException: Error calling action method of component with id fm:btn at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74) at javax.faces.component.UICommand.broadcast(UICommand.java:106) at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164) at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) Caused by: javax.faces.el.EvaluationException: Exception while invoking expression #{HA_Paper_Act.CreatePDF} at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:153) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63) ... 35 more Caused by: java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable . at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:134) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:141) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62) at net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:58) at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:404) at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:92) at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74) at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:113) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:163) at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:89) at hakaru_beans.Com_bean.makePDF(Com_bean.java:270) at hakaru_beans.hassou_beans.HA_Paper_Act.CreatePDF(HA_Paper_Act.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129) ... 36 more 12月の中旬ごろからいろいろと調べて対策を試してはいるのですがまだ解決されて いない状況です。システムプロパティに 「java.awt.headless=true」と設定するという 方法も見つけて、catalina.shに「export CATALINA_OPTS = '-Djava.awt.headless = true'」 を追加してみましたがダメでした。。。 原因は何が考えられるでしょうか?また、「java.awt.headless=true」の設定の詳細なども 分かる方がいましたら、教えて頂けないでしょうか? よろしくお願い致します。 | ||||||||||||
|
投稿日時: 2006-01-12 09:02
じゃなくて
の間違いでは? 自分はcatalina.sh中の
の前あたりに記述してます。 | ||||||||||||
|
投稿日時: 2006-01-12 09:17
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/awt/AWTChanges.html#headless
記述ミスかな? export CATALINA_OPTS = '-Djava.awt.headless=true' =のところをスペース無しで書いたらどうですか? 私の手元のcatalina.shでは JAVA_OPTS と CATALINA_OPTS は くっつけて使われているようでどっちに書いても同じ動きのようです。 | ||||||||||||
|
投稿日時: 2006-01-12 10:28
ハツキタツミ様、Java僧様
ご回答ありがとうございます。 export CATALINA_OPTS = '-Djava.awt.headless=true' JAVA_OPTS = "-Djava.awt.headless = true" 上記ご指摘の部分について試してみましたが、現象変わらず どちらも最初の投稿で書いたエラーメッセージが出力されました。 また、「'」→「"」に変更したりいろんな組合せも試しましたが 同様のエラーが出力されています。 いろんな掲示板を参照していますが すべてとは言わないにしても、色々試していますが 出来ていないということは、それ以前の別の場所に起因してるのかなとも 思うのですが、お恥ずかしながらどこをどう見ればいいのか分かりません。 その辺の部分も含めまして、ご指導いただけますでしょうか。 よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-01-12 12:40
手元に環境がないので確認できませんが、以前に、Fedora Core2 で
PDF作成ではないのですが、同様のエラーが発生したとき、 1. catalina.sh の、"start" の、Java オプションに、-Djava.awt.headless=true を追加。 2. startup.sh に、環境変数JAVA_FONTS を指定しておく export JAVA_FONTS=/usr/share/fonts/ja/TrueType という手順で解決したことがあります。 余談ですが、catalina.sh の、"start" には、"-security" ありの場合となしの 場合の2カ所があって、"-security" ありの方だけに追加していたため、 現象が変わらず時間を消費した記憶もあります(^^; |
1