我在我的应用程序的 servlet 中使用以下代码
java.awt.Image awtImg = java.awt.Toolkit.getDefaultToolkit().createImage(str1);
当我运行应用程序并调用 servlet 时,出现以下错误
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
java.awt.Toolkit$2.run(Toolkit.java:834)
java.security.AccessController.doPrivileged(Native Method)
java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
noticeandreports.pdf.appendFiles.PdfFunctionsClass.addSealSpace(PdfFunctionsClass.java:198)
OJ.NoticesandReports.generate_151_OJNotice.execute(generate_151_OJNotice.java:768)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
我已在具有 Java 版本 JDK 1.6.20 的 Linux 计算机上托管该应用程序。
可能是什么原因导致了这个问题...
noticeandreports.pdf.appendFiles.PdfFunctionsClass
是编写代码的类,OJ.NoticesandReports.generate_151_OJNotice
是调用上面类中的方法的servlet...
要在服务器端应用程序中使用 AWT 类,我相信您需要运行“无头”模式。更改 servlet 容器的启动以包括:
-Djava.awt.headless=true
(或者在您自己的代码中设置系统属性,如果您really必须。)
您可能还想考虑使用替代图像库 - 第三方图像库或javax.imageio
包裹。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)