windows下war包正常啓動,Linux環境下報錯:java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit。
原因:
對於一個Java服務器來說經常要處理一些圖形元素,例如地圖的創建或者圖形和圖表等。這些API基本上總是需要運行一個X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。
該問題的解決方法:
在Tomcat/bin/catalina.sh 中增加-Djava.awt.headless=true
如下:
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
或在tomcat bin內的startup.sh,第一行添加:
export CATALINA_OPTS=" -Djava.awt.headless=true"
或可試試
在Linux終端執行:
unset DISPLAY
//然後重啓服務器,此方法未驗證