当前位置: 代码迷 >> J2EE >> 为什么找不到这个类?Could not initialize class java.awt.image.BufferedImage解决思路
  详细解决方案

为什么找不到这个类?Could not initialize class java.awt.image.BufferedImage解决思路

热度:939   发布时间:2016-04-17 23:23:54.0
为什么找不到这个类?Could not initialize class java.awt.image.BufferedImage
一个生成验证码的Java代码
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
本地可以生成、访问和在网页上显示,但放到服务器上去了就生成不了,报以下错误
求大神解决!!
服务器系统:CentOS 6.5 64位    CPU:x86_64

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class java.awt.image.BufferedImage
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:972)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.mg.freeplay.common.filter.LogonFilter.doFilter(LogonFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class java.awt.image.BufferedImage
at com.mg.freeplay.common.utils.VerifyCode.createCode(VerifyCode.java:78)
at com.mg.freeplay.common.utils.VerifyCode.<init>(VerifyCode.java:35)
at com.mg.freeplay.web.IndexController.verifyCode(IndexController.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
... 28 more
------解决思路----------------------
jar包没有放进去吧。
------解决思路----------------------
确定服务器上JDK已经安装了
------解决思路----------------------
java.lang.NoClassDefFoundError: Could not initialize class java.awt.image.BufferedImage

没有初始化java.awt.image.BufferedImage这个类

------解决思路----------------------
引用:
Quote: 引用:

java.lang.NoClassDefFoundError: Could not initialize class java.awt.image.BufferedImage

没有初始化java.awt.image.BufferedImage这个类

怎么初始化??这是jdk自带的吧,求指导


at com.mg.freeplay.common.utils.VerifyCode.createCode(VerifyCode.java:78)----debug这个类看看,78行是什么,调用了什么,出了什么问题
------解决思路----------------------
为什么不去查呢,很多人都在问啊,不说了直接上链接:

http://blog.csdn.net/lee353086/article/details/5793240
------解决思路----------------------
引用:
Quote: 引用:

为什么不去查呢,很多人都在问啊,不说了直接上链接:

http://blog.csdn.net/lee353086/article/details/5793240

又不是没查过就来问,那个安装包的地址不可用了,而且感觉比较复杂,不会弄,就想问下有没简单点的做法

那就米办法啦 我了看这里的办法,没试过,但是理论上说的有道理,很多32位的东西上64位会有问题。

所以你本地好使,上服务器不好使一般要是应用服务和代码都一致,那就从系统差异找问题,至于如何处理要么凭经验,要么就是查呀查 试一试。
------解决思路----------------------
jar包冲突或者 JDK与tomcat 版本号对不上,可以尝试一下。
  相关解决方案