After upgrading to OSX 10.8.4, background Java processes started placing a Java Cup icon in the Dock. It causes the currently active window to loose focus which is very annoying when running some script that forks many short running Java processes (headless). The file menu (top of the screen next to the apple symbol will show the name of the class file that Java is running, e.g. org.apache.hadoop.util.RunJar).
Since I'm not explicitly launching these Java commands, I've tried putting alias java="java -Djava.awt.headless=true" in .profile but this doesn't seem to help.
Has anyone run into this and know how to fix it?
Thank you.
Like @EGHM said, it's -Dapple.awt.UIElement=true
, but with no quotes. At least it works for me (OS X 10.7.5).
If you happen to be using Eclipse, you can add this JVM argument globally in Preferences → Installed JREs:
Like @EHGM and @Nelson pointed out, -Dapple.awt.UIElement=true
needs to be added as an argument to the JVM.
You can set it globally for all java applications launched from the command line (or a shell) by adding it to the JAVA_TOOL_OPTIONS
environment variable.
export JAVA_TOOL_OPTIONS="-Dapple.awt.UIElement=true"
You could add the export statement to your $HOME/.bashrc
or whatever startup script relevant to the shell you're using.
Try -Dapple.awt.UIElement="true"
You can also put the statement into the project-level or global gradle.properties
file
systemProp.apple.awt.UIElement=true
来源:https://stackoverflow.com/questions/17460777/stop-java-coffee-cup-icon-from-appearing-in-the-dock-on-mac-osx