linux 環境下驗證碼不顯示,後臺報錯 sun/awt/X11GraphicsEnvironment .

xz43發表於2013-08-12

把應用部署到Linux下,結果首頁登入的驗證碼顯示不出來。該驗證碼是用java的圖片包來處理圖片的,後臺日誌報錯:java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment 這種異常,這是因為java虛擬機器在處理圖片時需要本地的x-server的支援,解決方法有兩種:

1 java 1.4版本以上

   啟動java時加上引數:-Djava.awt.headless=true  例如:我們在啟動tomcat時在啟動命令列裡面加上這個引數就可以了.

 對於 websphere 則進入 > > > Java 虛擬機器

一般 JVM 自變數  :-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Djava.awt.headless=true

對應weblogic,則進入 環境 > 伺服器 > 對應伺服器名 > 配置 > 伺服器啟動,在“引數”裡面,增加以上部分。

2 java 1.4版本以前

   下載xvfb或者其他的虛擬x-windows,然後在java的執行環境裡的DISPLAY做相應的改變.

注意:服務需要重啟後,設定才能生效。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-768314/,如需轉載,請註明出處,否則將追究法律責任。

相關文章