我正在尝试构建一个简单的基于 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/