问题:
最初是在Windows平台下部署图像项目时发现的,在一个Tomcat下单独部署视频识别项目正常,当在同一个webapps加入另一个项目后台同时运行时,第一个视频项目中的视频播放不了,报错java.lang.RuntimeException,该异常一直追溯到此处Caused by: java.awt.HeadlessException。查阅此类案例,发现不仅在服务器部署时有,在Spring boot环境下运行时或Linux下部署也有此类问题,因此总结一下。
情景1:Tomcat+Windows部署出现此类问题
java.lang.RuntimeException
Caused by: java.lang.ExceptionInInitializerError
Caused by: java.awt.HeadlessException
解决
修改Tomcat中的catalina.bat文件,编辑该文件并在最开头添加一行
set JAVA_OPTS=-Djava.awt.headless=false
重新启动Tomcat,运行即可解决该问题。解决思路是Tomcat运行时会把headless这个设置为true,然后java.awt包里函数调用时就会产生异常。
情景2:Tomcat+Linux部署出现此类问题
java.lang.RuntimeException: Failed to create component for '