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这些人云亦云的家伙一下。