{{format('0')}} {{format('284')}} {{format('989')}}

SpringBoot Robot java.awt.AWTException: headless environment 错误 [ 技术杂谈 ]

九叶的小窝 文章 正文

As Long As You Love Me.
分享

九叶

{{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.toolkitjava.awt.graphicsenvironment类中有许多方法, 除了对字体、图形和打印的操作外还可以调用显示器、键盘和鼠标的方法。

但是有一些类中,比如CanvasPanel还有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

评论 0
0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}
TOP 2
Minecraft | [1.12.2] 核电工艺模拟器 1.2.25 —— 汉化版

{{nature('2021-12-07 15:29:00')}} {{format('2175')}}人已阅读

TOP 3
SSM搭建Spring单元测试环境

{{nature('2021-01-31 20:01:00')}} {{format('972')}}人已阅读

TOP 4
dispatcher-servlet.xml文件配置模板

{{nature('2020-12-11 21:17:00')}} {{format('891')}}人已阅读

TOP 5
Windows平台Nacos启动报错无法创建Bean实例

{{nature('2021-04-22 15:16:00')}} {{format('877')}}人已阅读

目录

标签云

Java SpringBoot

一言

# {{hitokoto.data.from || '来自'}} #
{{hitokoto.data.hitokoto || '内容'}}
作者:{{hitokoto.data.from_who || '作者'}}
自定义UI
配色方案

侧边栏