在Web開發(fā)中使用驗證碼時可能遇到的問題:
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
原因:
驗證碼采用awt圖形處理并內(nèi)存中生成需纳,java程序會去尋找linux上的圖形界面是否啟動 艺挪,如linux缺少組件則, 缺少了顯示設(shè)備麻裳、鍵盤或鼠標(biāo)會報這個錯誤;
所以需要開啟無頭模式, Headless模式是系統(tǒng)的一種配置模式 , 開始激活headless模式,告訴程序妙蔗,現(xiàn)在你要工作在Headless mode下国瓮,就不要指望硬件幫忙了乃摹,你得自力更生孵睬,依靠系統(tǒng)的計算能力模擬出這些特性來繼續(xù);
在tomcat/bin/catalina.sh里加入 JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true
代碼片段
歷史文章:
JAVA微信企業(yè)付款到零錢(十分鐘搞定)