0%

Exception-HeadlessException

以jar启动项目,访问接口时报java.awt.HeadlessException

Exception-HeadlessException

报错:

1
2
3
CST ERROR com.towery.support.GlobalExceptionHandler 54 notFoundException - 运行时异常: java.awt.HeadlessException: null
at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:284) ~[?:1.8.0_121]
at com.towery.util.ResolutionUtil.getScreenSize(ResolutionUtil.java:22) ~[classes!/:0.0.1]

原因:

1
项目开启了Headless模式,在这种模式下系统缺少其他设备的支持,会报错。比如:显示设备、键盘、鼠标等外设。Headless模式在服务端是很常用的,因为大多数服务器就是运行在没有前述设备支持的情况下。

解决:

jar启动项目时,添加参数

1
java -Djava.awt.headless=true -jar test.jar

tomcat启动项目,提前在catalina.sh第一行添加

1
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"