Создание объекта Java AWT приводит к открытию пустого приложения в macOS - PullRequest
1 голос
/ 27 июня 2019

Когда я создаю экземпляр объекта из java.awt, программа вызывает открытие нового приложения macOS с именем «Java» без окон.

Как я могу предотвратить это?

Вот минимальный пример:

import java.awt.Rectangle;

public class Main {
    public static void main(String[] args) {
        Rectangle rect = new Rectangle();
    }

}

После того, как он скомпилирован и запущен наиболее каноническим способом (javac Main.java; java Main), в Dock появляется следующий значок: снимок экрана

Я проследил код, и нарушающий метод - Toolkit.loadLibraries() (JDK 1.8.0_172-b11).

1 Ответ

0 голосов
/ 01 июля 2019

Я нашел решение на основе @ MadProgrammer комментария .

Ответ - установить AWT в режим без головы.

При выполнении программы:

$ java -Djava.awt.headless=true Main

Или программно:

System.setProperty("java.awt.headless", "true"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...