驗證碼無法正常顯示,提示Could not initialize class sun.awt.X11GraphicsEnvironment

在Web開發中使用驗證碼時可能遇到的問題:
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

原因:
驗證碼採用awt圖形處理並內存中生成,java程序會去尋找linux上的圖形界面是否啓動 ,如linux缺少組件則, 缺少了顯示設備、鍵盤或鼠標會報這個錯誤;
所以需要開啓無頭模式, Headless模式是系統的一種配置模式 , 開始激活headless模式,告訴程序,現在你要工作在Headless mode下,就不要指望硬件幫忙了,你得自力更生,依靠系統的計算能力模擬出這些特性來繼續;

在tomcat/bin/catalina.sh里加入 JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true
在這裏插入圖片描述

歷史文章:
JAVA微信企業付款到零錢(十分鐘搞定)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章