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

java在圖形處理時調用了本地的圖形處理庫。在利用Java作圖形處理(比如:圖片縮放,圖片簽名,生成報表)時,如果運行在windows上不會出問題。如果將程序移植到Linux/Unix上的時候有可能出現圖形不能顯示的錯誤。

提示信息:"Can't connect to X11 window server"這是由于Linux的圖形處理需要一個X Server服務器。

解決辦法:

1.如果服務器上安裝有圖形界面,可以通過設置環境變量:DISPALY=127.0.0.1:0.0解決。

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

3. 使用PJA庫來代替本地圖形處理庫。

Tomcat的修改如下:

打開 %Tomcat_home%/bin/catalina.sh 文件在-Djava.io.tmpdir="$CATALINA_TMPDIR"后,啟動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

fielif [ "$1" = "stop" ] ; then

保存后,重新啟動就可以處理圖形了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容