阻止Java Coffee Cup图标出现在Mac OSX上的Dock中

Eug*_*ene 54 java macos hadoop dock

升级到OSX 10.8.4后,后台Java进程开始在Dock中放置Java Cup图标.它会导致当前活动窗口失去焦点,这在运行一些需要许多短时间运行的Java进程(无头)的脚本时非常烦人.文件菜单(苹果符号旁边的屏幕顶部将显示正在运行Java的类文件的名称,例如org.apache.hadoop.util.RunJar).

由于我没有明确启动这些Java命令,我尝试在.profile中添加别名java ="java -Djava.awt.headless = true",但这似乎没有帮助.

有没有人碰到这个并知道如何解决它?

谢谢.

Nel*_*zes 64

就像@EGHM说的那样-Dapple.awt.UIElement=true,但没有引号.至少它对我有用(OS X 10.7.5).

如果您碰巧使用Eclipse,则可以在Preferences→Installed JREs中全局添加此JVM参数:

在此输入图像描述

  • 谢谢!我想在OS X 10.10.4中添加它,它也适用于我:`System.setPropery("apple.awt.UIElement","true");`作为我的`main()`中的第一个语句. (9认同)

Tux*_*ude 14

就像@EHGM和@Nelson指出的那样,-Dapple.awt.UIElement=true需要将其作为参数添加到JVM中.

您可以通过将其添加到JAVA_TOOL_OPTIONS环境变量中,为从命令行(或shell)启动的所有Java应用程序全局设置它.

export JAVA_TOOL_OPTIONS="-Dapple.awt.UIElement=true"
Run Code Online (Sandbox Code Playgroud)

您可以将导出语句添加$HOME/.bashrc到与您正在使用的shell相关的任何启动脚本中.


EGH*_*GHM 9

试试-Dapple.awt.UIElement ="true"

  • @Eugene其实你注意到-Djava.awt.headless = true我建议-Dapple.awt.UIElement ="true"请注意UIElement并引用true. (2认同)

xin*_*ink 6

您还可以将语句放入项目级或全局gradle.properties文件中

systemProp.apple.awt.UIElement=true
Run Code Online (Sandbox Code Playgroud)