Loading... ## 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模式下的方法了 ![image.png](https://old.qwq.ro/usr/uploads/2022/04/3953179578.png) Last modification:April 12, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 感谢大佬投喂 啾咪~
One comment