ImageIO.read在多线程执行中引发异常

| 我正在尝试使用ImageIO.read在多线程环境中从inputstream读取图像。以下是代码,
entity = httpResponse.getEntity(); //httpResponse is apache hc response object
bufImage = ImageIO.read(entity.getContent()); //reading image
基本上,我使用Apache HttpClient进行HttpConnection并将图像读取为流,然后将其转换为BufferedImage(bufImage)。 正常运行时,此代码可以正常工作。当我在多个线程中运行它时,出现以下异常,
Exception in thread \"Thread-3258\" java.lang.NoClassDefFoundError: Could not initialize class sun.java2d.Disposer
    at javax.imageio.stream.FileCacheImageInputStream.<init>(Unknown Source)
    at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(Unknown Source)
    at javax.imageio.ImageIO.createImageInputStream(Unknown Source)
    at javax.imageio.ImageIO.read(Unknown Source)
    at com.example.ImgDownload.run(ImgDownload.java:60)
    at java.lang.Thread.run(Unknown Source)
ImgDownload.java:60是我之前提到的使用ImageIO读取的行。我该如何解决? 谢谢, 阿比     
已邀请:
        我正在一个Ubuntu 12中运行一个应用程序。 我已经安装了libxtst6并将此java参数添加到我的JAVA_OPTS变量中:-Djava.awt.headless = true 然后工作正常。     
        是在\“生产\”环境中(即在多线程环境中运行此环境时)使用其他JRE / JDK吗?该类加载器所指的类是特定于sun的类-您是否正在使用像openjdk这样的东西,也许在其他环境中遇到了错误?     

要回复问题请先登录注册