问题描述:
weblogic上部署的应用业务,验证码出不来,并且后台报错
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
解决办法:
vim /home/oracle/Oracle/Middleware/user_projects/domains/admin_domain/bin/startWebLogic.sh
在最后面几行的${JAVA_OPTIONS前加入-Djava.awt.headless=true
结果如下:
if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
echo "Starting WLS with line:"
echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy -Djava.awt.headless=true ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy -Djava.awt.headless=true ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}
else
echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy -Djava.awt.headless=true ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1
网上说只要在上面的JAVA_OPTIONS=定义处加上这个参数就行,但是实测发现,我的weblogic加上之后不起作用,
所以加到了最后几行,实际测试好使。