总结之前项目出现得问题,第一次在linux上运行项目,服务器运行成功之后访问项目,别得都好好得,就登陆时候得验证码获得不了,使用谷歌浏览器的Network监测到请求已经发过去了,然后直接调用获取验证码的方法报错:“java.lang.NoClassDefFoundError:could not initialise class sun.awt.X11FontManager”。
然后又去百度,什么加jvm参数-Djava.awt.headless=true,还有在tomcat的启动文件中加参数,一大堆,
-classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
-Djava.awt.headless=true \
然后在每一个-classpath "$CLASSPATH" \下都加这四个参数。
试了之后还是没用。
最后在获取验证码的action中手动设置这个参数
static{
System.setProperty("java.awt.headless",true);
}
之后刚才的错误没有了,但是会报新的错误
[java.lang.UnsatisfiedLinkError: /usr/local/jdk1.7.0_71/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: cannot open shared object file: No such file or directory]
然后在linux下下载这个libgcc_s.so.1文件
然后问题就解决了。
对linux不熟悉,出现问题解决起来太烦了,学的东西还有很多,好好看,好好学。