java.lang.NoClassDefFoundError:无法初始化类javax.imageio.imageio jboss EAP 6
我们正在使用JBossEAP6;在生产环境之前,一切正常。但在生产中部署后,我们得到以下错误: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
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)