冰面上的火焰

          Jasperreport報表在Linux下無法顯示

          【原創(chuàng)】

          ???? 近日,我們使用Jasperreport給用戶開發(fā)了一套報表系統(tǒng),使用的是PDF格式的報表,系統(tǒng)部署在RedHat Linux9上,在系統(tǒng)測試過程中,沒有發(fā)現(xiàn)任何問題。系統(tǒng)上線后,用戶發(fā)現(xiàn)報表無法使用,系統(tǒng)報出以下錯誤:

          ?
          javax.servlet.ServletException: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
          ?
          ??????經(jīng)過分析得知,該錯誤是由于Jasperreport程序在轉(zhuǎn)換為PDF時,采用了AWT方式,而AWT會調(diào)用操作系統(tǒng)本地窗口資源圖,由于我們測試時,系統(tǒng)運(yùn)行在X window下,所以報表能夠正常運(yùn)行,而上線運(yùn)行后,由于考慮到系統(tǒng)的穩(wěn)定性,將系統(tǒng)運(yùn)行在文本界面下,導(dǎo)致了該問題。
          ????? 找到問題所在,就可以著手解決,解決的方法也很簡單,就是讓JVM啟動時不檢測圖形界面,由于我們是用的是Tomcat,所以在 /tomcat/bin/catalina.sh 中添加以下的啟動參數(shù),即:
          ????? CATALINA_OPTS='-Djava.awt.headless=true'
          ?
          ????? 如果使用的不是Tomcat系統(tǒng),可在啟動JVM的地方添加:
          ????? JAVA_OPTS='-Djava.awt.headless=true'
          ????? 然后重新啟動Tomcat,問題解決。
          ?
          ????? 注意:-Djava.awt.headless=true這個參數(shù)是在jdk1.4.1以后才引入的,如果系統(tǒng)使用的JDK是1.4以下的版本,可以參考
          http://java.sun.com/products/java-media/2D/forDevelopers/java2dfaq.html#xvfb

          posted on 2006-11-24 17:55 GuanHui 閱讀(347) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 会昌县| 佛山市| 肥乡县| 开原市| 天台县| 保靖县| 苍南县| 乃东县| 平定县| 兴国县| 宁陕县| 元谋县| 渭源县| 黄龙县| 凯里市| 什邡市| 乐昌市| 连云港市| 泗洪县| 田阳县| 泰来县| 迭部县| 保山市| 兴城市| 六枝特区| 华容县| 准格尔旗| 修文县| 衡南县| 东城区| 虞城县| 凤山市| 新民市| 芦山县| 皮山县| 衢州市| 浦江县| 万年县| 荆州市| 临沂市| 双峰县|