java.lang.NoClassDefFoundError : Could not initialize class javax. imageio.ImageIO jboss EAP 6

标签 java jakarta-ee jboss7.x noclassdeffounderror jboss-eap-6

我们使用的是 JBoss EAP 6;一切正常,直到生产环境。但是在生产部署后,我们收到以下错误:

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();
}

例如进入您的主类。

关于java.lang.NoClassDefFoundError : Could not initialize class javax. imageio.ImageIO jboss EAP 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20789546/

相关文章:

Java - 反转 ArrayList 或对象列表的单个通用方法

jboss - ClassNotFoundException 引用 JBoss AS 7 中的 hornetq 特定内容

java - @Singleton、@Startup、@PostConstruct 不适用于 EJB3.1 和 Glassfishv3.0.1

java - FreeMarker 和 OSGI

java - 将较短范围的 Bean 实例注入(inject)到 CDI 中较大范围的 bean 实例中 - 它是如何工作的?

docker - 哪个应用程序容器更适合 Docker 容器?

jboss7.x - 无法在 Windows 上登录 jboss 7.1 管理控制台

java - 如何直接在java字节码上写/创建.class文件?

java - TextField onEdit 监听器

java - 无效的 SQL 类型 : sqlKind = UNINITIALIZED error is shown