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

          在linux環(huán)境部署應(yīng)用時(shí),有時(shí)候需要用到AWT處理圖片的功能,典型的就是圖片的縮放處理等等,可能會(huì)遇到下面錯(cuò)誤:
          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)

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

          1、配置java啟動(dòng)參數(shù)java -Djava.awt.headless=true
          在jdk1.4及以上的環(huán)境中,允許使用沒有鍵盤、鼠標(biāo)、x window顯示啟動(dòng)的headless虛擬機(jī)模式,通過加上上面的屬性即可

          2、配置合適的DISPLAY屬性

          例如通過當(dāng)前用戶啟動(dòng)了一個(gè)x window的圖形界面,可以將設(shè)置類似export DISPLAY=localhost:10.0這樣的環(huán)境變量將awt定位到一個(gè)實(shí)際存在的環(huán)境處理。

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

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

          配置好之后就不會(huì)報(bào)錯(cuò)了

          網(wǎng)上還有一種辦法,啟動(dòng)Xvfb

          使用

          ls -l /tmp/.X*lock
          可以查看當(dāng)前啟動(dòng)了那些xwindow,如果發(fā)現(xiàn)X0,可能0.0已經(jīng)被使用了

          使用兩個(gè)命令:
             ------------------------------------
             Xvfb :1 -screen 0 800x600x16 & 啟動(dòng)Xwindows的虛擬設(shè)備
             export DISPLAY=localhost:1.0 配置本地環(huán)境
             ------------------------------------

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

          主站蜘蛛池模板: 云林县| 西平县| 琼结县| 虎林市| 澎湖县| 吉安县| 普洱| 东平县| 普定县| 福海县| 龙井市| 炎陵县| 蓝山县| 太谷县| 新疆| 余干县| 石狮市| 合肥市| 会昌县| 凉山| 阿拉尔市| 凤山县| 伊川县| 太原市| 八宿县| 平原县| 家居| 三门峡市| 扶沟县| 昌宁县| 沁源县| 应城市| 广河县| 新巴尔虎左旗| 东源县| 金阳县| 乡宁县| 会昌县| 宜宾市| 色达县| 察雅县|