Jak mogę zapobiec kradzieży aktywności procesów Java?

9

Czy ktoś jeszcze zauważył, że aplikacje Java wiersza polecenia w OS X tworzą procesy GUI, które kradną fokus (tj. Podprogramy groovy, maven)? Uważam to za bardzo irytujące; prawdopodobnie dlatego, że żyję z nim przez 6-8 miesięcy, odkąd myślę, że OS X 10.6.

Jak mogę zapobiec wykonywaniu tego przez procesy Java w OS X?

dsummersl
źródło
1
To bardzo dobre pytanie, ale myślę, że zależy to od implementacji Twojej aplikacji Java. Jeśli poprosisz tych gości w przepełnieniu stosu, mogą teraz, która flaga Java włączy tryb tła podczas uruchamiania.
Enrico Susatyo,
Tak, zapytałem tam pierwszy i nigdy nie otrzymałem żadnej odpowiedzi. Kiedy wykonuję „java -version”, widzę: Java (TM) SE Runtime Environment (kompilacja 1.6.0_29-b11-402-11D50b) Java HotSpot (TM) 64-bitowa maszyna wirtualna serwera (kompilacja 20.4-b02-402, tryb mieszany ...
dsummersl

Odpowiedzi:

9

W końcu znalazłem podstawowe rozwiązanie:

Ogólnie w przypadku aplikacji Java można określić, że są one „bezgłowe”, dodając opcję -Djava.awt.headless=truedo aplikacji Java.

(wysłany również do stackoverflow).

dsummersl
źródło
Nawet z tą flagą mój niewidzialny symulator Androida kradnie ostrość.
Raphael Oliveira,