我为captcha创建了REST API – 在spring框架中使用JCaptcha。JCaptcha和SpringFramework
当我将war文件放在windows操作系统环境中的tomcat7服务器中时,一切正常。
对于部署,当我使用tomcat7 Web服务器相同的战争文件,该文件目前在Ubuntu 14.04的API突然开始为HTTP 500响应代码与以下情况除外:
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.image.codec.JPEGImageEncoderImpl
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.televital.vitalware.services.CORSFilter.doFilterInternal(CORSFilter.java:29)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
我已经下文称以下链接发展API的
https://jcaptcha.atlassian.net/wiki/display/general/JCaptcha+and+the+SpringFramework
请帮me.It alredy把我的2天。
===========解决方案如下:
有两种可能性。
sun.awt.image.codec.*
包含在<JDK installation folder>\jre\lib\rt.jar
中。所以检查这个jar是否已经存在于你的Linux机器中或者不存在。-
第二个是,你需要打开Headless mode在你的Linux machine.Before你运行Tomcat启动脚本,你需要打开无头模式,这样
JAVA_OPTS='-Djava.awt.headless=true'