zoukankan      html  css  js  c++  java
  • 验证码无法显示:Could not initialize class sun.awt.X11GraphicsEnvironment 解决方案

    验证码突然无法显示,并报如下错误。

    Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:195)
    	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102)
    	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81)
    	at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1182)
    	at cn.com.chinautrust.idm.component.ValidateCode.createCode(ValidateCode.java:114)
    	at cn.com.chinautrust.idm.component.ValidateCode.<init>(ValidateCode.java:99)
    	at cn.com.chinautrust.idm.component.ValidateCodeUtils.getImg(ValidateCodeUtils.java:71)
    	at cn.com.chinautrust.idm.controller.login.VerificationCode.getValidateImgCode(VerificationCode.java:33)
    	at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:606)
    	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
    	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
    	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
    	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    	... 43 more
    

    在catalina.sh里加上一句“-Djava.awt.headless=true ”,问题解决。
    经查,出现这种情况一般就是启动tomcat的用户无法访问Xserver,包括Xserver没有启动或者没有权限访问.

    修改${TOMCAT_HOME}/bin/catalina.sh或${TOMCAT_HOME}/bin/catalina.bat文件:

    在所有类似以下代码:
        "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS
          -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH"
          -Djava.security.manager
          -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy
          -Dcatalina.base="$CATALINA_BASE"
          -Dcatalina.home="$CATALINA_HOME"
          -Djava.io.tmpdir="$CATALINA_TMPDIR"

    在尾部加上一句:
          -Djava.awt.headless=true

    修改后内容如下:
        exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS
          -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH"
          -Dcatalina.base="$CATALINA_BASE"
          -Dcatalina.home="$CATALINA_HOME"
          -Djava.io.tmpdir="$CATALINA_TMPDIR"
          -Djava.awt.headless=true

    以tomcat6.0为例,总共有八处这样的地方,修改好后即可。

  • 相关阅读:
    C# 如何在PDF文档中创建表格
    C# 如何创建Excel多级分组
    C# 添加、修改以及删除Excel迷你图表的方法
    C# 创建EXCEL图表并保存为图片
    【BZOJ5287】[HNOI2018]毒瘤(动态规划,容斥)
    【BZOJ5250】[九省联考2018]秘密袭击(动态规划)
    【BZOJ5213】[ZJOI2018]迷宫(神仙题)
    CodeForces Global Round 1
    【BZOJ5212】[ZJOI2018]历史(Link-Cut Tree)
    【BZOJ5211】[ZJOI2018]线图(树哈希,动态规划)
  • 原文地址:https://www.cnblogs.com/cuijinlong/p/13426102.html
Copyright © 2011-2022 走看看