2013-07-04 11 views
47

Dopo l'aggiornamento a OSX 10.8.4, i processi Java in background hanno iniziato a inserire un'icona di Java Cup nel Dock. Fa sì che la finestra attualmente attiva perda messa a fuoco che è molto fastidiosa durante l'esecuzione di alcuni script che forchetta molti processi Java in esecuzione breve (senza testa). Il menu file (in alto sullo schermo accanto al simbolo della mela mostrerà il nome del file di classe che Java sta eseguendo, ad es. Org.apache.hadoop.util.RunJar).Arresta l'icona di Java Coffee Cup che appare nel Dock su Mac OSX

Dal momento che non sto lanciando esplicitamente questi Java comandi, ho provato a mettere alias java = "java -Djava.awt.headless = true" in .profile, ma questo non sembra aiutare.

Qualcuno si è imbattuto in questo e sa come risolverlo?

Grazie.

+0

si veda il commento sulla mia risposta – EGHM

risposta

52

Come @EGHM detto, è -Dapple.awt.UIElement=true, ma con senza virgolette. Almeno funziona per me (OS X 10.7.5).

Se vi capita di essere con Eclipse, è possibile aggiungere questo argomento JVM a livello globale nelle Preferenze → JRE installati:

enter image description here

+7

Grazie! Voglio aggiungere che in OS X 10.10.4 ha funzionato anche per me usando: 'System.setPropery (" apple.awt.UIElement "," true ");' come prima affermazione nel mio 'main()'. –

+0

Questo ha funzionato per me, ma solo per alcuni giorni :(L'icona è ora di nuovo visualizzata nel dock.Tutte le idee? – Saket

+0

... e ciò è accaduto anche su Mac OS 10.11.6. un progetto Android, necessario '-Djava.awt.headless = true' da solo non ha risolto tutto,' -Dapple.awt.UIElement = true'. –

8

Prova -Dapple.awt.UIElement = "true"

+0

ho già come è indicato nella domanda – Eugene

+2

@Eugene In realtà si segnala -Djava.awt .headless = true Sto suggerendo -Dapple.awt.UIElement = "true", nota UIElement e virgolette sul true. – EGHM

9

Come @EHGM e @Nelson sottolineato, -Dapple.awt.UIElement=true deve essere aggiunto come argomento alla JVM.

È possibile impostare globalmente per tutte le applicazioni Java avviate dalla riga di comando (o una shell) aggiungendo alla variabile JAVA_TOOL_OPTIONS ambiente.

export JAVA_TOOL_OPTIONS="-Dapple.awt.UIElement=true" 

Si potrebbe aggiungere la dichiarazione di esportazione al $HOME/.bashrc o qualunque script di avvio relativo alla shell che si sta utilizzando.

4

Si può anche mettere la dichiarazione nel livello di progetto o file globale gradle.properties

systemProp.apple.awt.UIElement=true 
+0

老哥 稳 啊, 太 tm 的 感谢 了! funziona per me! Android Studio 2.3.3 + macOS 10.12.5 – Loyea