【问题标题】:JCaptcha and the SpringFrameworkJCaptcha 和 SpringFramework
【发布时间】:2017-05-12 11:13:17
【问题描述】:

我已经为验证码创建了 REST API - 在 Spring 框架中使用 JCaptcha。

当我将战争文件放在 Windows 操作系统环境中的 tomcat7 服务器中时,一切正常。

对于部署,当我在 Ubuntu 14.04 中存在的 tomcat7 Web 服务器中使用相同的 war 文件时,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

请帮帮我。我已经花了 2 天时间。

【问题讨论】:

    标签: java spring ubuntu tomcat7 jcaptcha


    【解决方案1】:

    从堆栈跟踪可以看出,在 Ubuntu 上,应用程序无法从 <JDK installation>\jre\lib\rt.jar 找到 sun.awt.image.codec.JPEGImageEncoderImpl 类。

    解决下面的错误检查

    • JDK 安装正确(如果没有重新安装
    • JAVA_HOME 配置正确
    • 如果以上两个都正确,则通过指定-Djava.awt.headless=true 使用headless 模式

    【讨论】:

    • 感谢您的建议。
    • 终于得到了解决方案,实际上是因为 open-jdk。我删除了它并安装了 oracle-java8-installer,它实际上就像魅力一样工作。
    【解决方案2】:

    有两种可能。

    • sun.awt.image.codec.* 包含在 <JDK installation folder>\jre\lib\rt.jar 中。所以检查这个 jar 是否已经存在于你的 Linux 机器与否。
    • 第二个是你需要在你的Linux机器上打开Headless mode。在你运行tomcat启动脚本之前,你需要像这样打开Headless模式

       JAVA_OPTS='-Djava.awt.headless=true'
      

    【讨论】:

    • 感谢您立即重播。
    • 终于得到了解决方案,实际上是因为 open-jdk。我删除了它并安装了 oracle-java8-installer,它实际上像任何东西一样工作。
    猜你喜欢
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    相关资源
    最近更新 更多