Как я могу предотвратить кражу фокуса процессами Java?

9

Кто-нибудь еще заметил, что Java-приложения командной строки в OS X создают процессы GUI, которые крадут фокус (то есть, groovy, maven подпроцессы)? Я нахожу это чрезвычайно раздражающим; вероятно, потому что я живу с этим в течение 6-8 месяцев, так как я думаю, что OS X 10.6.

Как я могу предотвратить процессы Java, делающие это в OS X?

dsummersl
источник
1
Это очень хороший вопрос, но я думаю, что это зависит от реализации вашего Java-приложения. Если вы спросите этих ребят в Stack Overflow, они могут узнать, какой флаг Java включить при запуске в фоновом режиме.
Энрико Сусатио
Да, я сначала спросил там, и не получил никакого ответа. Когда я делаю «java-версию», я вижу: Java (TM) SE Runtime Environment (сборка 1.6.0_29-b11-402-11D50b) Java HotSpot (TM) 64-битная виртуальная машина сервера (сборка 20.4-b02-402, смешанный режим ...
dsummersl

Ответы:

9

В конце концов я нашел основное решение:

Для приложений Java в целом вы можете указать, что они «безголовые», добавив эту опцию -Djava.awt.headless=trueв ваше Java-приложение.

(также опубликовано в stackoverflow).

dsummersl
источник
Даже с этим флагом мой невидимый симулятор Android крадет фокус.
Рафаэль Оливейра