Java在Linux下不能處理圖形的解決辦法

Java在圖形處理時調用了本地的圖形處理庫。在利用Java作圖形處理(比如:圖片縮放,圖
片簽名,生成報表)時,如果運行在windows上不會出問題。如果將程序移植到Linux/Unix
上的時候有可能出現圖形不能顯示的錯誤。
提示信息:"Can't connect to X11 window server"
這是由於Linux的圖形處理需要一個X Server服務器。(關於Linux的圖形處理模式參考htt
p://www.douzhe.com/docs/fbsd2/5.htm)
解決辦法:
1.如果服務器上安裝有圖形界面,可以通過設置環境變量:DISPALY=127.0.0.1:0.0解決

2. 如果沒有安裝圖形界面,可以在Java運行時加上參數:-Djava.awt.headless=true。

3. 使用PJA庫來代替本地圖形處理庫。
參考:http://www.idautomation.com/kb/xwindow-error.html

Tomcat的修改如下:
打開 %Tomcat_home%/bin/catalina.sh 文件
在文件的86%處,啓動Tomcat的腳本中加上:
-Djava.awt.headless=true /
參考:
    "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS /
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" /
      -Dcatalina.base="$CATALINA_BASE" /
      -Dcatalina.home="$CATALINA_HOME" /
      -Djava.io.tmpdir="$CATALINA_TMPDIR" /
      -Djava.awt.headless=true /
      org.apache.catalina.startup.Bootstrap "$@" start /
      >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

      if [ ! -z "$CATALINA_PID" ]; then
        echo $! > $CATALINA_PID
      fi
  fi
elif [ "$1" = "stop" ] ; then

保存後,重新啓動就可以處理圖形了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章