posts - 33, comments - 46, trackbacks - 0, articles - 2

          JAVA AWT處理圖片時的錯誤

          Posted on 2012-01-19 12:01 在路上... 閱讀(920) 評論(0)  編輯  收藏 所屬分類: JAVA相關

          在linux環境部署應用時,有時候需要用到AWT處理圖片的功能,典型的就是圖片的縮放處理等等,可能會遇到下面錯誤:
          java.lang.NoClassDefFoundError
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:141)
            at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
            at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1041)

          甚至在默寫情況下面可能導致jvm崩潰,對于該問題的解決辦法是

          1、配置java啟動參數java -Djava.awt.headless=true
          在jdk1.4及以上的環境中,允許使用沒有鍵盤、鼠標、x window顯示啟動的headless虛擬機模式,通過加上上面的屬性即可

          2、配置合適的DISPLAY屬性

          例如通過當前用戶啟動了一個x window的圖形界面,可以將設置類似export DISPLAY=localhost:10.0這樣的環境變量將awt定位到一個實際存在的環境處理。

          配置成功之后,可能可以看到這樣的提示

          nl.ikarus.nxt.priv.imageio.icoreader.lib.ICOReader loaded, version: 0.06.064 build: 691

          配置好之后就不會報錯了

          網上還有一種辦法,啟動Xvfb

          使用

          ls -l /tmp/.X*lock
          可以查看當前啟動了那些xwindow,如果發現X0,可能0.0已經被使用了

          使用兩個命令:
             ------------------------------------
             Xvfb :1 -screen 0 800x600x16 & 啟動Xwindows的虛擬設備
             export DISPLAY=localhost:1.0 配置本地環境
             ------------------------------------

          參考:http://javatechniques.com/blog/linux-x11-libraries-for-headless-mode/

          主站蜘蛛池模板: 长宁区| 锦屏县| 长治市| 乌审旗| 花莲县| 万荣县| 武陟县| 正宁县| 元江| 营口市| 抚远县| 昌平区| 军事| 稻城县| 甘泉县| 龙川县| 武夷山市| 萍乡市| 华宁县| 龙州县| 吉林市| 潼关县| 灵璧县| 武胜县| 云和县| 萨嘎县| 和林格尔县| 托里县| 平泉县| 虞城县| 察隅县| 工布江达县| 阳泉市| 道真| 洛阳市| 常宁市| 天等县| 北安市| 甘泉县| 汝南县| 平遥县|