SpringBoot Robot java.awt.AWTException: headless environment 错误 [ 技术杂谈 ]
九叶的小窝 文章 正文

九叶
{{nature("2022-04-12 21:35:27")}}更新1. 问题
在使用Robot来模拟键盘事件时,启动报错
java.awt.AWTException: headless environment
at java.awt.Robot.<init>(Robot.java:91)
at ro.qwq.script.utils.RobotUtil.aut_mobs(RobotUtil.java:18)
at ro.qwq.script.controller.TestController.testKeyInput(TestController.java:21)
...
2. 分析
headless模式
是在缺少显示屏、键盘或者鼠标时的系统配置。
在java.awt.Robot
, java.awt.toolkit
和java.awt.graphicsenvironment
类中有许多方法, 除了对字体、图形和打印的操作外还可以调用显示器、键盘和鼠标的方法。
但是有一些类中,比如Canvas
和Panel
还有keyPress
等方法,可以在headless模式
下执行。
3. 解决
将springboot启动类的
public static void main(String[] args) {
SpringApplication.run(ScriptApplication.class, args);
}
改为:
public static void main(String[] args) {
SpringApplicationBuilder builder = new SpringApplicationBuilder(ScriptApplication.class);
builder.headless(false).run(args);
}
这个时候就可以启动并且使用headless模式下的方法了
{{nature('2021-12-07 15:29:00')}} {{format('2286')}}人已阅读
{{nature('2021-01-31 20:01:00')}} {{format('1069')}}人已阅读
{{nature('2020-12-11 21:17:00')}} {{format('989')}}人已阅读
{{nature('2021-04-22 15:16:00')}} {{format('983')}}人已阅读
目录
标签云
一言
评论 0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}