1.步驟:
修改$CATALINA_HOME/bin/catalina.sh檔案($CATALINA_HOME是指tomcat安裝目錄),在原檔案的40行新增如下內容即可
CATALINA_OPTS="-Djava.awt.headless=true"
存檔退出就完成. 很簡單吧 :)))
2.測試:
2.1建立目錄
cd /usr/local/tomcat/webapps/
mkdir –p TestImage/WEB-INF/classes
2.2編寫index.jsp
在/usr/local/tomcat/webapps/ TestImage目錄下建立index.jsp,內容如下:
<%@page import="java.awt.*, java.awt.image.*, java.io.*, com.sun.image.codec.jpeg.*"%>
<%
BufferedImage bi = new BufferedImage(200, 100, BufferedImage.TYPE_INT_RGB);
Graphics g = bi.getGraphics();
g.drawString("test java image", 0, 45);
FileOutputStream fos = new FileOutputStream(application.getRealPath("/") + "test.jpg");
JPEGImageEncoder jpegie = JPEGCodec.createJPEGEncoder(fos);
jpegie.encode(bi);
fos.close();
%>
<img src='test.jpg'>
2.3運行
啟動tomcat,開啟瀏覽器,輸入:http://localhost:8080/TestImage
3.後記
3.1網上流傳的解決方案,多為安裝xvfb, 然後將系統預設的x server指定為xvfb。但是本人使用此方法之後,系統內建的x window就進不去了。再解決這個附加的問題就很費勁了,偶一直沒力氣研究,有知道的朋友可在本文檔下方回複,謝謝。
3.2也有人提到過無頭支援,但總是說把無頭支援寫在java原檔案中無效,因為tomcat啟動時不帶無頭支援。但是他們為什麼沒想到在tomcat啟動時加入無頭支援呢?嗯,874這些人云亦云的傢伙一下。