Ich habe eine Anwendung, die auf Tomcat läuft, eine der Methoden ist, ein einfaches Thumbnail aus einem jpeg-Bild zu erstellen. Die Funktionen funktionieren offline gut und vor einer Woche auch auf dem Tomcat. Aber jetzt bekomme ich den folgenden Fehler:
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)
Ich glaube nicht, dass ich irgendetwas geändert habe, was dies beeinflussen sollte (eigentlich habe ich die Funktion laut dem svn-Repository überhaupt nicht geändert), also muss es ein Bibliotheksproblem sein. Aber ich kann nicht herausfinden, was fehlt. Hier sind die tatsächlichen Zeilen aus der getThumbnail-Funktion, wo der Fehler auftritt:
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);
[edit] Ich habe beschlossen, die Problembeschreibung ein wenig zu aktualisieren. Ja, es scheint, dass er eine Klasse aus java.awt oder eine damit verwandte nicht finden kann. Aber sie sind auf dem Server in der jvm vorhanden. Der Java Headless Mode löst das Problem nicht. In einem anderen Projekt funktioniert der exakt gleiche Code, aber innerhalb eines axis2 Webservice auf diesem Server, einwandfrei. [/edit]