Posted on 2006-05-19 09:33
花 閱讀(2080)
評論(0) 編輯 收藏 所屬分類:
WEB Design
在rh8 ? linux ? 下用java的JPEGCodec.createJPEGEncoder(bos)生成jpg圖片,XServer已啟動。出現(xiàn)如下問題 ?
? 錯誤提示如下 ? ?
? 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(Name) ?
? 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.(X11GraphicsEnvironment.java:59) ? ?
? at ? java.lang.Class.forName0(Native ? Method) ? ?
? at ? java.lang.Class.forName(Class.java:120) ? ?
? at ? java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58) ? ?
? ? ? ? 在win2000下代碼完全正常。
? 服務器在字符環(huán)境下java無法創(chuàng)建圖片的解決辦法 ?
? ?
? 解決方案:將pja.jar ? ,pjatools.jar拷貝到weblogic的lib目錄下,在startWebLogic.sh中將這兩個文件加入到CLASSPATH中,然后將以下文字加入到$JAVACMD中,其中 ?
? /usr/java/jdk1.3.1_06 ? ? ? 是指java的安裝目錄 ?
? /home/weblogic/wlserver6.1/lib ? ? ? 是指 ? pja.jar ? ,pjatools.jar的存放目錄 ?
? ?
? -Xbootclasspath/a:/usr/java/jdk1.3.1_06/lib/rt.jar:/home/weblogic/wlserver6.1/lib/pja.jar ? -Djava.awt.toolkit=com.eteks.awt.PJAToolkit ? -Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment ? -Djava.awt.fonts=/usr/java/jdk1.3.1_06/jre/lib/fonts ? ?
? ?
? ?
? 添加后執(zhí)行會出現(xiàn)一些說 ? font找不到的提示,不用理他。 ?
? ?
? ?
? 討論:這個問題在java中稱為headless問題,是jdk1.3的bug,bug報告見http://developer.java.sun.com/developer/bugParade/bugs/4281163.html ? 。jdk1.4已經(jīng)做了修正,文檔見http://java.sun.com/j2se/1.4.1/docs/guide/awt/AWTChanges.html。 ?
? 我對這個問題的理解:headless是指由于一些服務器(比如大型機)運行的環(huán)境比較特殊,不存在真實的設備去處理一些輸入輸出,比如顯卡,鍵盤鼠標;這時就需要虛擬一些運行環(huán)境出來,或者就不要用到這些設備的相關(guān)操作(比如輸入輸出)。然而運行java.awt包又需要一個的圖形環(huán)境,由此產(chǎn)生了異常。 ?
? ?
? 這個問題的解決辦法有三個: ?
? 1:將jdk升級為jdk1.4,然后加上運行參數(shù) ? –Djava.awt.headless=true ? 即可。 ?
? 2:虛擬一個圖形環(huán)境。一般在linux下使用Xvfb來虛擬一個圖形環(huán)境,在linux命令行鍵入Xvfb ? :0 ? -screen ? 0 ? 1024x768x16 ? & ? ,不過在使用之前要對Xvfb進行設置。我在本機上沒有調(diào)試成功。各位可以試一下。 ?
? 3:使用第三方工具包。可以使用 ? pja包,下載地址 ? http://www.eteks.com/pja/en/#Download ? ,使用方法見解決方案。