私はtomcatで実行されているアプリケーションを持っています。その方法の1つは、jpeg画像から簡単なサムネイルを作成することです。これらの機能はオフラインでも正常に機能し、1週間前は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ヘッドレスモードでは問題は解決しません。別のプロジェクトでは、まったく同じコードですが、このサーバーのaxis2Webサービス内で正常に機能しています。[/編集]