驗證碼沒法顯示:Could not initialize class sun.awt.X11GraphicsEnvironment 解決方案

1、緣由現象:圖下圖

2、緣由致使:

  通過Google發現不少人也出現一樣的問題。從瞭解了X11GraphicEnvironment這個類的功能入手,一個Java服務器來處理圖片的API基本上是須要運行一個X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。因此,問題確定出在啓動server時,未能實現X-Server功能。root用戶未啓動XServer,mmcse中啓動了XWindow。so問題來了。

3、解決方法:

  1. 安裝XServer(忽略,由於服務器自己軟硬件環境基本沒動過);html

  2. 運行headless服務器-Djava.awt.headless=true (須要JDK1.4以上版本)。重點來看這種解決方案(詳見參考資料,但主要涉及的是Webapp,設置webserver。咱們的場景是在applet client做圖,而後在server端處理成png並保存)java

     具體解決辦法:在各個server服務的java -jar啓動命令增長選項-Djava.awt.headless=true,問題解決(Google是王道)!!linux

     若是是在web server中,則在server的啓動腳本中增長相同選項。web

linux以下:服務器

 

4、參考資料

1. linux中servlet畫圖問題的解決 

2. Java官網的headless support

3. java.awt.headless=true的含義

相關文章
相關標籤/搜索