java.lang.NoClassDefFoundError:无法初始化类javax.imageio.imageio jboss EAP 6

java.lang.NoClassDefFoundError:无法初始化类javax.imageio.imageio jboss EAP 6,java,jakarta-ee,jboss7.x,noclassdeffounderror,jboss-eap-6,Java,Jakarta Ee,Jboss7.x,Noclassdeffounderror,Jboss Eap 6,我们正在使用JBossEAP6;在生产环境之前,一切正常。但在生产中部署后,我们得到以下错误: java.lang.NoClassDefFoundError: Could not initialize class javax.imageio.ImageIO 我们正在创建验证码的servlet之一中发生的错误。这是发生此错误的行: ImageIO.write(bufferedImage, "png", baos); 以下是错误的堆栈跟踪: Server:server-three] Caus

我们正在使用JBossEAP6;在生产环境之前,一切正常。但在生产中部署后,我们得到以下错误:

java.lang.NoClassDefFoundError: Could not initialize class javax.imageio.ImageIO 
我们正在创建验证码的servlet之一中发生的错误。这是发生此错误的行:

ImageIO.write(bufferedImage, "png", baos); 
以下是错误的堆栈跟踪:

Server:server-three] Caused by: java.lang.NoClassDefFoundError: Could not initialize class javax.imageio.ImageIO
[Server:server-three]   at org.fwcms.tc.servlet.Captcha.doGet(Captcha.java:150) [classes:]
[Server:server-three]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec.jar:1.0.2.Final-redhat-1]
[Server:server-three]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec.jar:1.0.2.Final-redhat-1]
[Server:server-three]   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb.jar:7.2.2.Final-redhat-1]
[Server:server-three]   ... 36 more
这在任何其他环境中都不会发生。我们正在将应用程序部署为ear。解决这一问题的任何建议/指针都将对我有很大帮助

先谢谢你

问候,, 我找到了解决办法。 在进行其他操作之前,您必须先取消ImageIO。 您可以通过添加以下内容来完成此操作:

static {
        ImageIO.scanForPlugins();
}

例如进入主类。

您是否确保ClassPath环境变量在生产中同步,或者检查是否有任何内容覆盖ClassPath环境变量。您是否有完整的stackstrace以便我们可以看到调用发生的位置?添加了所需的stacktrace Philippe。如果您需要任何进一步的详细信息,请告诉我。您好Vivek,我如何检查是否有任何内容正在重写classpath env?因为这是一个
NoClassDefFoundError
,而不是
ClassNotFoundError
在实例化
ImageIO
时发生了错误。看到这个答案非常感谢,特别是提示:“在其他操作之前初始化”对我来说非常重要(使用Java中的PDFBOX和PDImageXObject)