最近部署weblogic应用时遇到一个很奇怪的问题,通过xshell5的连上生产服务器换完代码后,通过startWeblogic.sh脚本去启动应用时没有报错,但访问页面时验证码却无法显示了,后台报错:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment,显然启动时没有正常加载到jre环境变量,尽管脚本里面有设置环境变量的处理,但就是无法加载到,百思不得其解。
解决办法一:修改启动命令,增加参数设置,可以正常启动
nohup ./startWebLogic.sh -Djava.awt.headless=true &
解决办法二:重新安装了xshell6就可以正常启动了。(不知是不是xshell5有啥bug吗)