我有一个在 tomcat 上运行的应用程序,其中一种方法是从 jpeg 图像创建一个简单的缩略图。这些功能离线工作正常,一周前也在tomcat上工作。但现在我收到以下错误:
java.lang.NoClassDefFoundError
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:164)
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1141)
eval.impl.ImageEval.getThumbnail(ImageEval.java:155)
eval.impl.ImageServlet.doGet(ImageServlet.java:79)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
我认为我没有改变任何应该影响这一点的东西(实际上我根本没有根据 svn 存储库改变函数),所以它一定是一个库问题。但我无法弄清楚缺少什么。以下是发生错误的 getThumbnail 函数的实际行:
BufferedImage thumbImage = new BufferedImage(thumbWidth,
thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(simage, 0, 0, thumbWidth, thumbHeight, null);
[编辑] 我决定稍微更新一下问题描述。是的,他似乎无法从 java.awt 中找到一些类或与之相关的类。但它们确实存在于 jvm 的服务器上。Java 无头模式并不能解决问题。在另一个项目中,完全相同的代码,但在此服务器上的axis2 webservice 内工作正常。[/编辑]