java处理图片时找到不sun.awt.X11GraphicsEnvironment问题
java处理图片时找到不sun.awt.X11GraphicsEnvironment问题
java处理图片时找到不sun.awt.X11GraphicsEnvironment问题
\
2012-01-06 17:34:46| 分类: Java |举报|字号 订阅
使用java生成图片验证码,出现错误:
java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment
搜索得到解决方法:
\
因为java虚拟机在处理图片时需要本地的x-server的支持,解决方法有两种:
\
1 java 1.4版本以上
启动java时加上参数:-Djava.awt.headless=true
例如:我们在启动tomcat时在启
\
动命令行里面加上这个参数就可以了.
\
对于solaris 上的 weblogic
可以设置在/export/home/xxx(用户名)/weblogic/wlserver_10.3/common/bin/commEvn.sh中
\
在
\
…….
\
Sun)
JAVA_VM=-client
MEM_ARGS=”-Xms1024m -Xmx1024m -XX:MaxPermSize=1024m”
JAVA_OPTIONS=”${JAVA_OPTIONS} -Xverify:none”
;;
*)
JAVA_VM=
MEM_ARGS=”-Xms1024m -Xmx1024m”
;;
esac
fi
export JAVA_VM MEM_ARGS JAVA_OPTIONS
\
之后添加下面两句:
\
JAVA_OPTIONS=”${JAVA_OPTIONS} -Djava.awt.headless=true “
export JAVA_OPTIONS
\
对于 websphere 则进入应用程序服务器 > server1 > 进程定义 >
Java 虚拟机
\
一般 JVM 自变量 :-Dfile.encoding=GBK -Ddefault.client.encoding=GBK
-Djava.awt.headless=true
\
2 java 1.4版本以前
下载xvfb或者其他的虚拟x-windows,然后在java的运行环境里的DISPLAY做相应的改变.
\
我这里是weblogic,实际上把JAVA_OPTIONS=”${JAVA_OPTIONS}
-Xverify:none”行改成JAVA_OPTIONS=”${JAVA_OPTIONS} -Xverify:none
-Djava.awt.headless=true”就可以了,没必要多export JAVA_OPTIONS一次。