报错原因:
因为linux下没有可视化环境 而我处理excel的时候会用到图形界面相关的东西
解决方法就是让项目启动的时候不引用图形相关的东西
在java项目启动的脚本里加上
JAVA_OPTS="-Djava.awt.headless=true"
等于告诉操作系统这里没有图形界面 你自己靠运算能力去处理接下来的事情 它就不会想着去调用图形界面了 然后就不会报错了
启动完整脚本start.sh如下
MAIN_CLASS=com.occamedu.inspur.App
JAVA_OPTS="-Djava.awt.headless=true"
# 生成 class path 值
APP_BASE_PATH=$(cd `dirname $0`; pwd)
CP=${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*
# 运行为后台进程,并在控制台输出信息
# java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &
# 运行为后台进程,并且不在控制台输出信息
# nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >/dev/null 2>&1 &
# 运行为后台进程,并且将信息输出到 output.log 文件
nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} > output.log &