java - Spring Boot强制 headless (headless)模式

标签 java spring-boot sikuli headless

我正在尝试构建一个简单的基于 maven 的应用程序,以便使用 SikuliX 进行自动化测试。该应用程序当前创建为最新的 spring-boot 应用程序 (v. 1.4.1)。 该应用程序本身相当简单(目前是 POC),一个类作为应用程序(SpringBootApplication 注释,实现 CommandLineRunner)和一个服务( Autowiring 、impl 和接口(interface))。仅此而已,没有其他依赖项(只有 SikuliX、commons-lang3 和 spring-boot-starter)。

但是,当我运行该应用程序时,Sikuli 子系统提示在 headless (headless)模式下运行。

我试过使用 SpringApplicationBuilder.headless(false).web(false).run(args); 设置 System.setProperty("java.awt.headless", "false"); 传递JVM 的参数以禁用 headless (headless)模式。没有一个选项单独使用以及它们的组合都有效。 Spring-boot 始终采用 headless (headless)模式。

有没有人遇到过这样的问题?

PS:os是mac和windows,java 1.8

祝大家有个愉快的一天。

J.

最佳答案

我遇到了同样的问题并通过将 java.awt.headless 系统属性设置为 false 来修复它。这是 M. Deinum 在对 OP 的评论中提出的建议,因此请相信他们。

这是我将它添加到我的主应用程序文件中的方式:

public static void main(String[] args) {
    System.setProperty("java.awt.headless", "false"); //ADD THIS
    SpringApplication.run(MyClass.class, args);
}

关于java - Spring Boot强制 headless (headless)模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40016683/

相关文章:

java - 如何使用变量,特别是不同类中的日期

Spring Boot @Table 注解,不同环境的目录属性

ocr - Sikuli-java-api(不是sikuliX-api)中的文本识别

sikuli - 如何让 sikuli 等到鼠标指针从 "busy"变为 "not busy?"

java - 如何使用@AutoConfigureMockMvc仅打印失败测试的请求?

java - 如何将 Sikuli JAR 文件添加到 OpenTest 以便在 Windows 7 上实现自动化?

java - 当将项目的所有访问修饰符更改为 public 时,字节码中项目的语义是否会发生变化?

java - 是否可以允许非本地主机客户端访问 App Engine Servlet 的本地实现?

java - Java Swing中的Graphics2D填充方法

spring - Spring Boot框架需要Spring安全管理控制台