tomcat 報錯誤:“Can't connect to X11 window server using 'localhost:10.0' as the value of th 。。。。”
原因:linux系統圖形控件未啓動導致的
解決:在 catalina.sh,加入 -Djava.awt.headless=true \ ,一共8處
參考:
-D$ENDORSED_PROP="\"$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
或者在 開頭加入
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=256m -XX:MaxPermSize=512m -Xms2g -Xmx2g -Djava.awt.headless=true "
Java java.awt.headless=true 的具體作用:
Headless是指服務器的無顯示設備狀態(缺少顯示器、鍵盤、鼠標)
AWT是Java構建GUI應用的標準API接口,且Java自帶2套實現類,一套供標準模式使用(顯示設備、驅動可用),另一套供headless模式使用(顯示設備、驅動不可用);通常B/S型Web應用運行於無顯示設備、驅動的服務器端環境中,但是有使用AWT繪圖接口的可能(例如:用Images、Fonts接口生成圖片驗證碼);所以給Tomcat、Weblogic附加參數-Djava.awt.headless=true,強制使用Headless版本的AWT實現類,就能避免圖形環境缺失所導致的程序出錯;